private void PerformTransition(IAutomataTransitionFinite transition)
 {
     if ((_state == transition.StateStart) && (_state != transition.StateEnd))
     {
         if (State != null) { State.DoOnExit(); }
         DoOnStateExit(State);
         _state = transition.StateEnd;
         DoOnTransition(transition);
         DoOnStateEnter(State);
         if (State != null) { State.DoOnEnter(); }
     }
 }
 protected void eventTransition(IAutomataTransitionFinite transtion)
 {
     string startID;
     string endID;
     if (transtion.StateStart != null) { startID = transtion.StateStart.ID; } else { startID = "<null>"; };
     if (transtion.StateEnd != null) { endID = transtion.StateEnd.ID; } else { endID = "<null>"; };
     TesterLog(DateTime.UtcNow.ToString("o"), "eventTransition", startID + "->" + endID);
 }
 public void DoOnTransition(IAutomataTransitionFinite transition)
 {
     if (OnTransition != null)
     {
         OnTransition(transition);
     }
 }
 protected void eventTransition(IAutomataTransitionFinite transtion)
 {
     //TesterLog("eventTransition");
 }