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); }
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"); }