public void EventDoesNotExistsInvokesOverriddenOnError() { var errState = new ErrorState(); var(machine, reg) = SetupCode.CreateForTests(errState); var msg = SetupCode.CreateMessage(); machine.TansformState("not existing", msg, () => { errState.WasOverridden = true; /* errState.WasSet = false; */ }); Assert.False(errState.WasSet); Assert.True(errState.WasOverridden); }
public void EventFoundButTypeNotMatchingInvokesStateOnError() { var errState = new ErrorState(); var(machine, reg) = SetupCode.CreateForTests(errState); var msg = SetupCode.CreateMessage(); machine.TansformState("no-generic", msg); var nonGeneric = reg.First().State as StateMocks.StateWithoutGenerics; Assert.NotNull(nonGeneric); Assert.True(nonGeneric.ErrorWasSet); }
public static (StateMachine machine, List <StateRegister> states) CreateForTests(ErrorState errorState) { var reg = new List <StateRegister> { new StateRegister("no-generic", new StateMocks.StateWithoutGenerics()), new StateRegister("string-generic", new StateMocks.StateWithStringParameter()) }; return(new StateMachine(reg, () => errorState.WasSet = true), reg); }