Пример #1
0
        public void BeTrueWhenMissingStartStateOnDeclaratioWithEventOnEnterEvent()
        {
            //arrange
            var wf = new Floo();

            wf.AddStateSetting("StartState")
            .IsStartState()
            .OnEnterEvent(FakeEnterExitCallback)
            .OnExitEvent(FakeEnterExitCallback);

            wf.AddStateSetting("EndState")
            .IsEndState()
            .OnEnterEvent(FakeEnterExitCallback);

            wf.AddTransition()
            .From("StartState")
            .On("Command")
            .GoTo("EndState");

            //act
            var isValid = wf.IsValid();

            //assert
            Assert.True(isValid);
        }
Пример #2
0
        public void ReturnTrueWhenRule4IsValid()
        {
            //arrange
            var flow = new Floo();

            flow.AddStateSetting("OnState").IsStartState();

            flow.AddStateSetting("ErrorState").IsEndState();

            flow.AddTransition()
            .From("OnState")
            .On("SendMessage")
            .Do(ctx => FakeFunk(ref ctx))
            .When(FakeCheck)
            .GoTo("SentState")
            .When(FakeCheck)
            .GoTo("ErrorState")
            .Otherwise()
            .StayAt("OnState");

            //act
            bool isValid = flow.IsValid();

            //assert
            Assert.True(isValid);
        }
Пример #3
0
        public void BeTrueForStartStateDeclaration()
        {
            //arrange
            var wf = new Floo();

            wf.AddStateSetting("StartState")
            .IsStartState();

            wf.AddTransition()
            .From("StartState")
            .On("Command")
            .GoTo("EndState");

            //act
            bool isValid = wf.IsValid();

            //assert
            Assert.True(isValid);
        }
Пример #4
0
        public void ReturnTrueWhenRule1IsValid()
        {
            //arrange
            var flow = new Floo();

            flow.AddStateSetting("OnState").IsStartState();

            flow.AddStateSetting("ErrorState").IsEndState();

            flow.AddTransition()
            .From("OnState")
            .On("SendMessage")
            .GoTo("ErrorState");

            //act
            bool isValid = flow.IsValid();

            //assert
            Assert.True(isValid);
        }