コード例 #1
0
        public void FluentStateMachine_Trigger_ValidParms_CallsReturnsMachineTrigger()
        {
            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 model = new StubStateModel();


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

            machineMock.Setup(m => m.Trigger(It.Is <Trigger>(t => t.Name == "trigger1"), model)).Verifiable();

            fluentMachine.Trigger("trigger1", model);

            machineMock.VerifyAll();
        }
コード例 #2
0
        public void FluentStateMachine_Trigger_NullName_ThrowsNullEx()
        {
            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.Throws <ArgumentNullException>(() =>
                                                  fluentMachine.Trigger(null, new StubStateModel()));
        }
コード例 #3
0
        public void FluentStateMachine_Trigger_ValidParms_CallsReturnsMachineTrigger()
        {
            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 model = new StubStateModel();

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

            machineMock.Setup(m => m.Trigger(It.Is<Trigger>(t => t.Name == "trigger1"), model)).Verifiable();

            fluentMachine.Trigger("trigger1", model);

            machineMock.VerifyAll();
        }
コード例 #4
0
        public void FluentStateMachine_Trigger_NullName_ThrowsNullEx()
        {
            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.Throws<ArgumentNullException>(() =>
                fluentMachine.Trigger(null, new StubStateModel()));
        }