public void StateTransitionEqualsNullReturnsFalse()
 {
     var transition = new StateMachine.StateTransition(STATE_INITIALSTATE, CONDITION_RUN);
     Assert.IsFalse(transition.Equals(null));
 }
 public void StateTransitionEqualsStateTransitionsWithSameCurrentStateAndConditionReturnsTrue()
 {
     var transition1 = new StateMachine.StateTransition(STATE_INITIALSTATE, CONDITION_RUN);
     var transition2 = new StateMachine.StateTransition(STATE_INITIALSTATE, CONDITION_RUN);
     Assert.IsTrue(transition1.Equals(transition2));
 }
 public void StateTransitionEqualsStateTransitionsWithDifferentCurrentStateAndConditionReturnsFalse()
 {
     var transition1 = new StateMachine.StateTransition(STATE_INITIALSTATE, CONDITION_RUN);
     var transition2 = new StateMachine.StateTransition(STATE_INITIALSTATE, CONDITION_CONTINUE);
     Assert.IsFalse(transition1.Equals(transition2));
     transition1 = new StateMachine.StateTransition(STATE_ERROR, CONDITION_CONTINUE);
     transition2 = new StateMachine.StateTransition(STATE_INITIALSTATE, CONDITION_CONTINUE);
     Assert.IsFalse(transition1.Equals(transition2));
 }
 public void StateTransitionToStringReturnsStringRepresentationOfStateTransition()
 {
     var transition = new StateMachine.StateTransition(STATE_INITIALSTATE, CONDITION_RUN);
     Assert.AreEqual(STATE_INITIALSTATE + "-" + CONDITION_RUN, transition.ToString());
 }
 public void SetStateTransitionWithNonExistingStateTransitionAddsTransition()
 {
     _stateMachine.SetStateTransition(STATE_ERROR, CONDITION_CANCEL, STATE_FINAL);
     var transition = new StateMachine.StateTransition(STATE_ERROR, CONDITION_CANCEL);
     Assert.AreEqual(STATE_FINAL, _stateMachine.Transitions[transition]);
 } 
 public void SetStateTransitionWithExistingStateTransitionAndReplaceTrueReplacesTransition()
 {
     _stateMachine.SetStateTransition(STATE_INITIALSTATE, CONDITION_CONTINUE, STATE_ERROR, true);
     var transition = new StateMachine.StateTransition(STATE_INITIALSTATE, CONDITION_CONTINUE);
     Assert.AreEqual(STATE_ERROR, _stateMachine.Transitions[transition]);
 }
 public void SetupStateMachineWithValidConfigurationSetsStateTransitionsAccordingCondiguration()
 {
     _stateMachine.SetupStateMachine(CUSTOM_STATE_MACHINE_CONFIGURATION);
     var transition = new StateMachine.StateTransition(STATE_INITIALSTATE, CONDITION_CONTINUE);
     Assert.IsTrue(_stateMachine.Transitions.ContainsKey(transition));
     transition = new StateMachine.StateTransition(STATE_INITIALSTATE, CONDITION_CANCEL);
     Assert.IsTrue(_stateMachine.Transitions.ContainsKey(transition));
     transition = new StateMachine.StateTransition(STATE_STOPPED, CONDITION_RUN);
     Assert.IsTrue(_stateMachine.Transitions.ContainsKey(transition));
     transition = new StateMachine.StateTransition(STATE_RUNNING, CONDITION_CANCEL);
     Assert.IsTrue(_stateMachine.Transitions.ContainsKey(transition));
     Assert.AreEqual(4, _stateMachine.Transitions.Count);
 }
 public void StateMachinesConstructorAddsDefaultTransitions()
 {
     Assert.AreEqual(9, _stateMachine.Transitions.Count);
     var transition = new StateMachine.StateTransition(STATE_INITIALSTATE, CONDITION_CONTINUE);
     Assert.IsTrue(_stateMachine.Transitions.ContainsKey(transition));
     transition = new StateMachine.StateTransition(STATE_INITIALSTATE, CONDITION_CANCEL);
     Assert.IsTrue(_stateMachine.Transitions.ContainsKey(transition));
     transition = new StateMachine.StateTransition(STATE_RUNNING, CONDITION_CONTINUE);
     Assert.IsTrue(_stateMachine.Transitions.ContainsKey(transition));
     transition = new StateMachine.StateTransition(STATE_RUNNING, CONDITION_CANCEL);
     Assert.IsTrue(_stateMachine.Transitions.ContainsKey(transition));
     transition = new StateMachine.StateTransition(STATE_COMPLETED, CONDITION_CONTINUE);
     Assert.IsTrue(_stateMachine.Transitions.ContainsKey(transition));
     transition = new StateMachine.StateTransition(STATE_COMPLETED, CONDITION_CANCEL);
     Assert.IsTrue(_stateMachine.Transitions.ContainsKey(transition));
     transition = new StateMachine.StateTransition(STATE_CANCELLED, CONDITION_CONTINUE);
     Assert.IsTrue(_stateMachine.Transitions.ContainsKey(transition));
     transition = new StateMachine.StateTransition(STATE_CANCELLED, CONDITION_CANCEL);
     Assert.IsTrue(_stateMachine.Transitions.ContainsKey(transition));
     transition = new StateMachine.StateTransition(STATE_ERROR, CONDITION_CONTINUE);
     Assert.IsTrue(_stateMachine.Transitions.ContainsKey(transition));
 }