public void Create_StateDefinitions_with_null_NextState_will_throws_exception() { var definition = new XStateMachineDefinition<string, string, string>(); definition.Add(new XStatePosition<string, string, string>("", "", ""), new XStateAction<string>(null, nextState => { System.Diagnostics.Debug.WriteLine("I am now at state:" + nextState); })); Assert.IsFalse(definition.IsEmpty()); }
public void Can_Create_StateDefinitions_with_Strings() { var definition = new XStateMachineDefinition<string, int, int>(); definition.Add(new XStatePosition<string, int, int>(string.Empty, 0, 0), new XStateAction<string>("", nextState => { System.Diagnostics.Debug.WriteLine("I am now at state:" + nextState); })); Assert.IsFalse(definition.IsEmpty()); }
public void Cannot_create_StateMachine_with_Empty_Workflow_Definitions() { XStateMachineDefinition<int, int, int> definitions = new XStateMachineDefinition<int, int, int>(); XStatePosition<int, int, int> position = new XStatePosition<int, int, int>(1, 2, 3); var sm = new XStateMachine<int, int, int>(definitions, position); }
private XStateMachineDefinition<int, int, int> MakeSampleStateMachineDefinitions() { XStateMachineDefinition<int, int, int> definitions = new XStateMachineDefinition<int, int, int>(); definitions.Add(new XStatePosition<int, int, int>(1, 2, 3), new XStateAction<int>(10, x => { })); definitions.Add(new XStatePosition<int, int, int>(2, 2, 3), new XStateAction<int>(20, x => { var isExecuted = true; Assert.IsTrue(isExecuted); })); return definitions; }
private XStateMachineDefinition<string, string, string> MakeSampleApprovalStateMachineDefinitions() { XStateMachineDefinition<string, string, string> definitions = new XStateMachineDefinition<string, string, string>(); definitions.Add(new XStatePosition<string, string, string>("pending-for-approval", "approver", "reject-request"), new XStateAction<string>("rejected", x => { })); definitions.Add(new XStatePosition<string, string, string>("pending-for-approval", "requester", "cancel-request"), new XStateAction<string>("draft", x => { })); definitions.Add(new XStatePosition<string, string, string>("draft", "requester", "submit-for-approval"), new XStateAction<string>("pending-for-approval", x => { var isExecuted = true; Assert.IsTrue(isExecuted); })); return definitions; }
public void StateDefinitions_with_Empty_Workflow() { var definition = new XStateMachineDefinition<string, int, int>(); Assert.IsTrue(definition.IsEmpty()); }