Esempio n. 1
0
        public void TestInitializeFromEmptyConfiguration()
        {
            // arrange
            var fsm    = new GesturesFSM <TrackingContext>(new Mock <TrackingContext>().Object);
            var config = new Mock <IConfiguration <TrackingContext> >();

            config.Setup(x => x.StateTransitions).Returns(new Dictionary <KeyValuePair <FSMStateId, FSMEventId>, FSMStateId>());

            // act
            this.DisableUIAsserts();
            fsm.InitializeFromConfiguration(config.Object);
        }
Esempio n. 2
0
        public void TestAddTransition()
        {
            // arrange
            var mockedContext = new Mock <TrackingContext>();
            var mockedState   = new Mock <IState <TrackingContext> >();
            var fsm           = new GesturesFSM <TrackingContext>(mockedContext.Object);

            // act
            fsm.AddTransition(FSMStateId.Unknown, FSMEventId.Unknown, mockedState.Object);
            fsm.PerformTransition(FSMEventId.Unknown);

            // assert
            mockedState.VerifySet(x => x.Controller = fsm, "controller successfully set to state");

            Assert.IsTrue(object.ReferenceEquals(mockedState.Object, fsm.Current), "state successfully added");
        }