@@ -9,18 +9,23 @@ public class StateMachineUnitTests
99 {
1010 void Method1 ( State state , Dictionary < string , object > parameters )
1111 {
12- // Assert.AreEqual(parameters["Data1"], "Test Data");
12+ Assert . AreEqual ( parameters [ "Data1" ] , "Test Data" ) ;
1313
1414 state . StateMachine . InvokeTransitionWithParameters ( "Transition1" , new Dictionary < string , object > ( ) { { "Test1" , "Test1" } } ) ;
1515 }
1616 void Method2 ( State state , Dictionary < string , object > parameters )
1717 {
1818 state . StateMachine . InvokeTransitionWithParameters ( "Transition2" , new Dictionary < string , object > ( ) { { "Test2" , "Test2" } } ) ;
1919 }
20+ void Method3 ( State state , Dictionary < string , object > parameters )
21+ {
22+ state . StateMachine . InvokeTransitionWithParameters ( "Transition3" , new Dictionary < string , object > ( ) { { "Test2" , "Test2" } } ) ;
23+ }
2024 void MethodOnChange ( State stateFrom , State stateTo )
2125 {
2226
2327 }
28+ static Dictionary < string , object > parametersForStart = new Dictionary < string , object > ( ) { { "Data1" , "Test Data" } } ;
2429
2530 [ TestMethod ]
2631 public void StateMachineFromCode ( )
@@ -30,25 +35,29 @@ public void StateMachineFromCode()
3035 State state1 = stateMachine . AddState ( "State1" ) ;
3136 State state2 = stateMachine . AddState ( "State2" ) ;
3237 State state3 = stateMachine . AddState ( "State3" ) ;
38+ State state4 = stateMachine . AddState ( "State4" ) ;
3339
3440 stateMachine . OnChangeState ( MethodOnChange ) ;
3541
3642 Transition transition1 = state1 . AddTransitionFromThis ( "Transition1" , state2 ) ;
3743 Transition transition2 = stateMachine . AddTransition ( "Transition2" , state2 , state3 ) ;
44+ Transition transition3 = state4 . AddTransitionToThis ( "Transition3" , state3 ) ;
3845
3946 state1 . SetAsStartState ( ) ;
4047 state1 . OnExit ( Method1 ) ;
4148 state2 . OnExit ( Method2 ) ;
49+ state3 . OnExit ( Method3 ) ;
50+
51+ stateMachine . AddData ( "int1" , 55 ) ;
52+ stateMachine . AddData ( "string1" , "Roman" ) ;
53+ stateMachine . AddData ( "double1" , 1001.0005 ) ;
4254
43- var parametersForStart = new Dictionary < string , object > ( ) { { "Data1" , "Test Data" } } ;
4455
4556 stateMachine . Start ( parametersForStart ) ;
4657
47- Assert . AreEqual ( stateMachine . CurrentState . Name , "State3 " ) ;
58+ Assert . AreEqual ( stateMachine . CurrentState . Name , "State4 " ) ;
4859
49- stateMachine . AddData ( "number1" , 55 ) ;
50- stateMachine . AddData ( "name1" , "Roman" ) ;
51- stateMachine . AddData ( "result1" , 1001.0005 ) ;
60+
5261
5362 stateMachine . ToXDocument ( "text.xml" ) ;
5463 }
@@ -60,12 +69,13 @@ public void StateMachineFromXML()
6069
6170 stateMachine . State ( "State1" ) . OnExit ( Method1 ) ;
6271 stateMachine . State ( "State2" ) . OnExit ( Method2 ) ;
72+ stateMachine . State ( "State3" ) . OnExit ( Method3 ) ;
6373
6474 stateMachine . OnChangeState ( MethodOnChange ) ;
6575
66- stateMachine . Start ( ) ;
76+ stateMachine . Start ( parametersForStart ) ;
6777
68- Assert . AreEqual ( stateMachine . CurrentState . Name , "State3 " ) ;
78+ Assert . AreEqual ( stateMachine . CurrentState . Name , "State4 " ) ;
6979 }
7080
7181 }
0 commit comments