public static void RunWithResult(this StateMachineQueryContext context, StateMachineQueryResult result) { context.result = result; context.ExecuteStateMachineQueryContext(); if (context.settings.Variables != null && context.settings.Variables.Any()) { Debug.WriteLine("Context Variables:"); foreach (var kv in context.settings.Variables) { Debug.WriteLine($" Variable: {kv.Key} -> {kv.Value}"); } } context.Print(); }
public void TestStateMachine() { string cachedJson = File.ReadAllText($"{AppContext.BaseDirectory}/caches.json"); int i = 4; switch (i) { case 1: { var context = new DateTime(2019, 11, 13).BuildFromFile(i); context.ExecuteStateMachineQueryContext(); context.Print(); Debugger.Break(); // see how it goes up to here context.result = new StateMachineQueryResult(); context.result.SetValue(200); context.ExecuteStateMachineQueryContext(); context.Print(); Debugger.Break(); } break; case 2: { var context = new DateTime(2019, 11, 13).BuildFromFile(i); context.RunWithResult(null); context.RunWithResult(StateMachineQueryResult.Void); context.RunWithResult(StateMachineQueryResult.True); context.RunWithResult(StateMachineQueryResult.Void); context.RunWithResult(StateMachineQueryResult.Void); context.RunWithResult(StateMachineQueryResult.False); context.RunWithResult(StateMachineQueryResult.True); context.RunWithResult(StateMachineQueryResult.Void); context.RunWithResult(StateMachineQueryResult.False); context.RunWithResult(StateMachineQueryResult.Void); Debugger.Break(); } break; case 3: { var context = new DateTime(2019, 11, 13).BuildFromFile(i); context.RunWithResult(null); context.RunWithResult(StateMachineQueryResult.Void); context.RunWithResult(StateMachineQueryResult.False); context.RunWithResult(StateMachineQueryResult.False); context.RunWithResult(StateMachineQueryResult.True); context.RunWithResult(StateMachineQueryResult.Void); Debugger.Break(); } break; case 4: { var context = new DateTime(2019, 11, 13).BuildFromFile(i); context.RunWithResult(null); context.RunWithResult(StateMachineQueryResult.Integer(1)); context.RunWithResult(StateMachineQueryResult.Void); for (int j = 0; j < 6; j++) { context.RunWithResult(StateMachineQueryResult.Void); } Debugger.Break(); } break; case 5: { var context = new DateTime(2019, 11, 13).BuildFromFile(i); context.RunWithResult(null); context.RunWithResult(StateMachineQueryResult.Integer(0)); context.RunWithResult(StateMachineQueryResult.Void); context.RunWithResult(StateMachineQueryResult.True); context.RunWithResult(StateMachineQueryResult.Void); context.RunWithResult(StateMachineQueryResult.False); Debugger.Break(); } break; } // case try the }