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();
 }
Esempio n. 2
0
        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
        }