Example #1
0
 public void TestTransact()
 {
     Assert.AreEqual(_sm.CurrentState.ID, "Initial");
     _sm.Transit("ready", null);
     Assert.AreEqual(_sm.CurrentState.ID, "Idle");
     _sm.Transit("pa", null);
     Assert.AreEqual(_sm.CurrentState.ID, "InPA");
     _sm.Transit("load study", null);
     Assert.AreEqual(_sm.CurrentState.ID, "InExam");
     _sm.Transit("pa", null);
     Assert.AreEqual(_sm.CurrentState.ID, "InPA");
     _sm.Transit("froze", null);
     Assert.AreEqual(_sm.CurrentState.ID, "InPA");
 }
Example #2
0
 /// <summary>
 /// execute statemachine's Transit function, this function is registered for RMI
 /// </summary>
 /// <param name="transitionID">transition id</param>
 /// <param name="context">app's context</param>
 /// <returns>true:success
 ///          false:fail
 /// </returns>
 public bool Invoke(string transitionID, object context)
 {
     CLRLogger.GetInstance().LogDevInfo(string.Format("AppManager begin Invoke,transitionID:{0}", transitionID));
     _stateMachine.Transit(transitionID, context);
     return(true);
 }