Exemplo n.º 1
0
        public void InitTest()
        {
            var sm     = new SyncStateMachine();
            var state1 = new Mock <IState>();
            var state2 = new Mock <IState>();

            sm.Init(new[] { state1.Object, state2.Object });
            state1.Verify(s => s.DidEnter(null), Times.Once());
            state1.VerifyAll();
            Assert.AreEqual(state1.Object, sm.CurrentState);
        }
Exemplo n.º 2
0
        public void EnterTest()
        {
            var sm     = new SyncStateMachine();
            var state1 = new Mock <IState>();

            state1.Setup(s => s.IsValidNextState(It.IsAny <Type>())).Returns(true);
            var state2 = new EmptyTestState();

            sm.Init(new[] { state1.Object, state2 });
            Assert.AreEqual(state1.Object, sm.CurrentState);
            sm.Enter(typeof(EmptyTestState));
            Assert.AreEqual(state2, sm.CurrentState);
            state1.Verify(s => s.DidEnter(null), Times.Once());
            state1.Verify(s => s.WillExit(state2), Times.Once());
            state1.VerifyAll();
        }