예제 #1
0
        public void FluentStateMachine_StateNamed_ValidParms_ReturnsMatchingStateFromConstructor()
        {
            var machine = new StateMachine <StubStateModel>();
            var state1  = new State <StubStateModel>("s1");
            var state2  = new State <StubStateModel>("s2");
            var state3  = new State <StubStateModel>("s3");

            var allStates = new List <State <StubStateModel> >();

            allStates.Add(state1);
            allStates.Add(state2);
            allStates.Add(state3);

            var fluentMachine = new FluentStateMachine <StubStateModel>(
                machine,
                allStates,
                state2,
                null,
                null,
                null);

            Assert.Equal(state1, fluentMachine.StateNamed("s1"));
            Assert.Equal(state2, fluentMachine.StateNamed("s2"));
            Assert.Equal(state3, fluentMachine.StateNamed("s3"));
        }
예제 #2
0
        public void FluentStateMachine_StateNamed_NullName_ThrowsNullEx()
        {
            var machineMock = new Mock <IStateMachine <StubStateModel> >();
            var state1      = new State <StubStateModel>("s1");
            var state2      = new State <StubStateModel>("s2");
            var state3      = new State <StubStateModel>("s3");

            var allStates = new List <State <StubStateModel> >();

            allStates.Add(state1);
            allStates.Add(state2);
            allStates.Add(state3);

            var fluentMachine = new FluentStateMachine <StubStateModel>(
                machineMock.Object,
                allStates,
                state2,
                null,
                null,
                null);

            Assert.Throws <ArgumentNullException>(() =>
                                                  fluentMachine.StateNamed(null));
        }
예제 #3
0
        public void FluentStateMachine_StateNamed_ValidParms_ReturnsMatchingStateFromConstructor()
        {
            var machine = new StateMachine<StubStateModel>();
            var state1 = new State<StubStateModel>("s1");
            var state2 = new State<StubStateModel>("s2");
            var state3 = new State<StubStateModel>("s3");

            var allStates = new List<State<StubStateModel>>();
            allStates.Add(state1);
            allStates.Add(state2);
            allStates.Add(state3);

            var fluentMachine = new FluentStateMachine<StubStateModel>(
                machine,
                allStates,
                state2,
                null,
                null,
                null);

            Assert.Equal(state1, fluentMachine.StateNamed("s1"));
            Assert.Equal(state2, fluentMachine.StateNamed("s2"));
            Assert.Equal(state3, fluentMachine.StateNamed("s3"));
        }
예제 #4
0
        public void FluentStateMachine_StateNamed_NullName_ThrowsNullEx()
        {
            var machineMock = new Mock<IStateMachine<StubStateModel>>();
            var state1 = new State<StubStateModel>("s1");
            var state2 = new State<StubStateModel>("s2");
            var state3 = new State<StubStateModel>("s3");

            var allStates = new List<State<StubStateModel>>();
            allStates.Add(state1);
            allStates.Add(state2);
            allStates.Add(state3);

            var fluentMachine = new FluentStateMachine<StubStateModel>(
                machineMock.Object,
                allStates,
                state2,
                null,
                null,
                null);

            Assert.Throws<ArgumentNullException>(() =>
                fluentMachine.StateNamed(null));
        }