public void TestConstructor(State setting_NextState, State expected_NextState, Transition.TransitionMethodDelegate setting_TransitionMethod, Transition.TransitionMethodDelegate expected_TransitionMethod) { // Execute Transition transition = new Transition(setting_NextState, setting_TransitionMethod); // Get result Type type = typeof(Transition); FieldInfo field_info = type.GetField("NextState", BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Instance); State actual_NextState = (State)field_info.GetValue(transition); field_info = type.GetField("TransitionMethod", BindingFlags.SetField | BindingFlags.NonPublic | BindingFlags.Instance); var actual_TransitionMethod = (Transition.TransitionMethodDelegate)field_info.GetValue(transition); // Validate Assert.Equal(expected_NextState, actual_NextState); Assert.Equal(expected_TransitionMethod, actual_TransitionMethod); }
public void TestNullParameter(State setting_NextState, Transition.TransitionMethodDelegate setting_TransitionMethod) { // Execute, Validate Assert.Throws<NotImplementedException>(() => new Transition(setting_NextState, setting_TransitionMethod)); }
public RegularInstanceTest() { calledFlag = false; setting_NextState = new NormalState(new Trigger[1] { new Trigger() }); setting_TransitionMethod = () => { calledFlag = true; return; }; transition = new Transition(setting_NextState, setting_TransitionMethod); }
public NoTransitionMethodInstanceTest() { setting_NextState = new NormalState(new Trigger[1] { new Trigger() }); transition = new Transition(setting_NextState, null); }