예제 #1
0
파일: StateTest.cs 프로젝트: rinavin/RCJS
        public void LeaveTest()
        {
            State target      = StateArtifactsFactories.CreateState("abcd");
            var   transitions = StateArtifactsFactories.CreateTransitionList("a", "b", "c");

            foreach (var t in transitions)
            {
                t.AddTrigger(StateArtifactsFactories.CreateTrigger());
            }
            target.AddTransitions(transitions);

            target.DefaultTransition = StateArtifactsFactories.CreateTransition("d");

            target.Leave();
            Assert.IsTrue(((TestState)target).OnLeaveInvoked, "OnLeave was not called");
            foreach (TestTransition t in transitions)
            {
                Assert.IsTrue(t.CleanupInvoked, "Cleanup was not called for {0}", t);
            }
        }
예제 #2
0
파일: StateTest.cs 프로젝트: rinavin/RCJS
        public void EnterTest()
        {
            State target = StateArtifactsFactories.CreateState("abcd");

            Assert.IsNotNull(target.Transitions);
            var transitions = StateArtifactsFactories.CreateTransitionList("a", "b", "c");

            foreach (var t in transitions)
            {
                t.AddTrigger(StateArtifactsFactories.CreateTrigger());
            }
            target.AddTransitions(transitions);

            target.DefaultTransition = StateArtifactsFactories.CreateTransition("d");

            target.Enter();
            Assert.IsTrue(((TestState)target).OnEnterInvoked, "OnEnter was not called");
            foreach (TestTransition t in transitions)
            {
                Assert.IsTrue(t.SetupInvoked, "Setup was not called for {0}", t);
            }
        }