public async Task Test___Method_Start___Status_Created___Condition_True() { var variable = new AnyVariable <bool>() { Value = true }; var duration = new AnyVariable <int>() { Value = 1000 }; var testee = new WhileActivity() { Condition = new TrueCondition() { Value = variable }, Activity = new DelayActivity() { Duration = duration } }; var task = testee.Start(); Assert.AreEqual(ActivityStatus.Executing, testee.Status); Thread.Sleep(3000); variable.SetValue(false); await task; Assert.AreEqual(ActivityStatus.Completed, testee.Status); }
public async Task Test___Method_Start___Status_Created___Empty() { var value = new AnyVariable <object>(); var to = new AnyVariable <int>() { Value = 0 }; var testee = new ForEachActivity() { Enumerable = new AnyVariable <IEnumerable>() { Value = new List <object>() }, Value = value, Activity = new AssignActivity() { To = to, Value = value } }; await testee.Start(); Assert.AreEqual(ActivityStatus.Completed, testee.Status); Assert.AreEqual(0, to.GetValueAsObject()); }
public void Test___Method_Stop___Status_Created() { var value = new AnyVariable <string>(); var to = new AnyVariable <string>(); var testee = new ForEachActivity() { Enumerable = new AnyVariable <IEnumerable>() { Value = new List <object>() { "foo", "bar", "baz" } }, Value = value, Activity = new AssignActivity() { To = to, Value = value } }; testee.Stop(); Assert.AreEqual(ActivityStatus.Stopped, testee.Status); Assert.IsNull(to.GetValueAsObject()); }
public async Task Test___Method_Start___Status_Created___Else_Completed() { var to = new AnyVariable <int>() { Value = 0 }; var testee = new IfActivity() { Condition = new FalseCondition(), Then = new AssignActivity() { To = to, Value = new AnyVariable <int>() { Value = 1 } }, Else = new AssignActivity() { To = to, Value = new AnyVariable <int>() { Value = 2 } } }; await testee.Start(); Assert.AreEqual(ActivityStatus.Completed, testee.Status); Assert.AreEqual(2, to.GetValueAsObject()); }
public async Task Test___Method_Start___Status_Created___not_Empty() { var value = new AnyVariable <string>(); var to = new AnyVariable <string>(); var testee = new ForEachActivity() { Enumerable = new AnyVariable <IEnumerable>() { Value = new List <string>() { "foo", "bar", "baz" } }, Value = value, Activity = new AssignActivity() { To = to, Value = value } }; await testee.Start(); Assert.AreEqual(ActivityStatus.Completed, testee.Status); Assert.AreEqual("baz", to.GetValueAsObject()); }
public async Task Test___Method_Start___Status_Created___Cases___Generic() { var to = new AnyVariable(); var testee = new SwitchActivity <int>() { Value = new AnyVariable <int>() { Value = 1 }, Cases = new Dictionary <int, IActivity>() { { 1, new AssignActivity() { To = to, Value = new AnyVariable() { Value = 100 } } }, { 2, new AssignActivity() { To = to, Value = new AnyVariable() { Value = 1000 } } } } }; await testee.Start(); Assert.AreEqual(ActivityStatus.Completed, testee.Status); Assert.AreEqual(100, to.GetValue()); }
public async Task Test___Method_Start___Status_Suspended_to_Suspended() { var value = new AnyVariable <bool>() { Value = false }; var testee = new IfActivity() { Condition = new TrueCondition(), Then = new SuspendActivity() { Until = new TrueCondition() { Value = value } } }; await testee.Start(); Assert.AreEqual(ActivityStatus.Suspended, testee.Status); await testee.Start(); Assert.AreEqual(ActivityStatus.Suspended, testee.Status); }
public async Task Test___Method_Start___Encoding_UTF8() { var path = Path.Combine(Path.GetTempPath(), GetType().Name, "foo.txt"); File.WriteAllText(path, "bar"); var contents = new AnyVariable <string>(); var testee = new FileReadAllTextActivity() { Path = new AnyVariable <string>() { Value = path }, Contents = contents, Encoding = new AnyVariable <Encoding>() { Value = Encoding.UTF8 } }; await testee.Start(); Assert.AreEqual("bar", contents.GetValue()); Assert.AreEqual(ActivityStatus.Completed, testee.Status); }
public void Test___Method_Reset___Status_Stopped() { var elapsed = new AnyVariable <long>() { Value = 0 }; var testee = new StopwatchActivity() { Activity = new DelayActivity() { Duration = new AnyVariable <int>() { Value = 1000 } }, Elapsed = elapsed }; testee.Stop(); Assert.AreEqual(ActivityStatus.Stopped, testee.Status); Assert.AreEqual(0L, elapsed.GetValue()); testee.Reset(); Assert.AreEqual(ActivityStatus.Created, testee.Status); }
public void Test___Method_Reset___Status_Stopped() { var duration = new AnyVariable <int>() { Value = 1000 }; var testee = new ParallelActivity() { Activities = new List <IActivity>() { new DelayActivity() { Duration = duration }, new DelayActivity() { Duration = duration } } }; testee.Stop(); Assert.AreEqual(ActivityStatus.Stopped, testee.Status); testee.Reset(); Assert.AreEqual(ActivityStatus.Created, testee.Status); }
public async Task Test___Method_Start___Status_Created_to_Suspended() { var duration = new AnyVariable <int>() { Value = 1000 }; var testee = new ParallelActivity() { Activities = new List <IActivity>() { new DelayActivity() { Duration = duration }, new SuspendActivity() { Until = new FalseCondition() } } }; await testee.Start(); Assert.AreEqual(ActivityStatus.Suspended, testee.Status); }
public async Task Test___Method_Start___Status_Suspended___Until_True() { var value = new AnyVariable <bool>() { Value = false }; var testee = new SuspendActivity() { Until = new TrueCondition() { Value = value } }; await testee.Start(); Assert.AreEqual(ActivityStatus.Suspended, testee.Status); value.SetValue <bool>(true); await testee.Start(); Assert.AreEqual(ActivityStatus.Completed, testee.Status); }
public void Test___Method_Stop___Status_Created() { var variable = new AnyVariable <bool>() { Value = true }; var duration = new AnyVariable <int>() { Value = 1000 }; var testee = new WhileActivity() { Condition = new TrueCondition() { Value = variable }, Activity = new DelayActivity() { Duration = duration } }; testee.Stop(); Assert.AreEqual(ActivityStatus.Stopped, testee.Status); }
public async Task Test___Method_Start___Status_Created___Condition_False() { var variable = new AnyVariable <bool>() { Value = false }; var duration = new AnyVariable <int>() { Value = 1000 }; var testee = new WhileActivity() { Condition = new TrueCondition() { Value = variable }, Activity = new DelayActivity() { Duration = duration } }; await testee.Start(); Assert.AreEqual(ActivityStatus.Completed, testee.Status); }
public async Task Test___Method_Start___Status_Suspended_to_Suspended() { var value = new AnyVariable <bool>() { Value = false }; var testee = new SwitchActivity() { Value = new AnyVariable <int>() { Value = 1 }, Cases = new Dictionary <object, IActivity>() { { 1, new SuspendActivity() { Until = new TrueCondition() { Value = value } } } } }; await testee.Start(); Assert.AreEqual(ActivityStatus.Suspended, testee.Status); await testee.Start(); Assert.AreEqual(ActivityStatus.Suspended, testee.Status); }
public async Task Test___Method_Stop___Status_Executing() { var elapsed = new AnyVariable <long>() { Value = 0 }; var testee = new StopwatchActivity() { Activity = new DelayActivity() { Duration = new AnyVariable <int>() { Value = 1000 } }, Elapsed = elapsed }; var task = testee.Start(); testee.Stop(); await task; Assert.AreEqual(ActivityStatus.Stopped, testee.Status); Assert.AreNotEqual(0, elapsed.GetValueAsObject()); }
public void Test___Method_Stop___Status_Created() { var to = new AnyVariable(); var testee = new SwitchActivity() { Value = new AnyVariable <int>() { Value = 1 }, Cases = new Dictionary <object, IActivity>() { { 1, new AssignActivity() { To = to, Value = new AnyVariable() { Value = 100 } } }, { 2, new AssignActivity() { To = to, Value = new AnyVariable() { Value = 1000 } } } } }; testee.Stop(); Assert.AreEqual(ActivityStatus.Stopped, testee.Status); Assert.IsNull(to.GetValue()); }
public async Task Test___Method_Reset___Status_Completed() { var elapsed = new AnyVariable <long>() { Value = 0 }; var testee = new StopwatchActivity() { Activity = new DelayActivity() { Duration = new AnyVariable <int>() { Value = 1000 } }, Elapsed = elapsed }; await testee.Start(); Assert.AreEqual(ActivityStatus.Completed, testee.Status); Assert.AreNotEqual(0, elapsed.GetValueAsObject()); testee.Reset(); Assert.AreEqual(ActivityStatus.Created, testee.Status); }
static async Task Main(string[] args) { var greeting = new AnyVariable <string>(); var activity = new SequenceActivity() { Activities = new List <IActivity>() { new AssignActivity <string, int>() { To = greeting, Value = new NowHourVariable(), Converter = new HourToGreetingConverter() }, new ConsoleWriteLineActivity() { Value = greeting } } }; await activity.Start(); Console.ReadKey(); }
public async Task Test___Method_Stop___Status_Executing() { var value = new AnyVariable <int>(); var testee = new ForEachActivity() { Enumerable = new AnyVariable <IEnumerable>() { Value = new List <object>() { 2000, 2000, 2000 } }, Value = value, Activity = new DelayActivity() { Duration = value } }; var task = testee.Start(); Assert.AreEqual(ActivityStatus.Executing, testee.Status); Thread.Sleep(3000); testee.Stop(); await task; Assert.AreEqual(ActivityStatus.Stopped, testee.Status); }
public void Test___Method_Reset___Status_Stopped() { var to = new AnyVariable <int>() { Value = 0 }; var testee = new IfActivity() { Condition = new TrueCondition(), Then = new AssignActivity() { To = to, Value = new AnyVariable <int>() { Value = 1 } }, Else = new AssignActivity() { To = to, Value = new AnyVariable <int>() { Value = 2 } } }; testee.Stop(); Assert.AreEqual(ActivityStatus.Stopped, testee.Status); Assert.AreEqual(0, to.GetValueAsObject()); testee.Reset(); Assert.AreEqual(ActivityStatus.Created, testee.Status); }
static async Task Main(string[] args) { var elapsed = new AnyVariable <long>(); var activity = new TryCatchActivity() { Try = new StopwatchActivity() { Activity = new DelayActivity(new AnyVariable <int>(10000)), Elapsed = elapsed }, Finally = new ConsoleWriteLineActivity() { Value = elapsed } }; // start Console.WriteLine("Press any key to start."); Console.ReadKey(); var task = activity.Start(); // stop Console.WriteLine("Press any key to stop."); Console.ReadKey(); activity.Stop(); await task; Console.ReadKey(); }
static async Task Main(string[] args) { var statusCode = new AnyVariable <HttpStatusCode>(); var data = new AnyVariable <string>(); var activity = new SequenceActivity() { Activities = new List <IActivity>() { // start WFLite.AspNetCore.HelloWorld first. new RestAsyncActivity <string>() { BaseUrl = new AnyVariable("http://localhost:51115/"), Request = new RequestVariable() { Resource = new AnyVariable("api/values") }, Response = new ResponseVariable <string>() { StatusCode = statusCode, Data = data } }, new ConsoleWriteLineActivity() { Value = data } } }; await activity.Start(); Console.ReadKey(); }
public void Test___Method_Reset___Status_Stopped() { var to = new AnyVariable <int>() { Value = 0 }; var value = new AnyVariable <int>() { Value = 10 }; var testee = new AssignActivity() { To = to, Value = value }; testee.Stop(); Assert.AreEqual(ActivityStatus.Stopped, testee.Status); Assert.AreEqual(0, to.GetValueAsObject()); testee.Reset(); Assert.AreEqual(ActivityStatus.Created, testee.Status); }
public async Task Test___Method_Reset___Status_Completed() { var to = new AnyVariable <int>() { Value = 0 }; var value = new AnyVariable <int>() { Value = 10 }; var testee = new AssignActivity() { To = to, Value = value }; await testee.Start(); Assert.AreEqual(ActivityStatus.Completed, testee.Status); Assert.AreEqual(10, to.GetValueAsObject()); testee.Reset(); Assert.AreEqual(ActivityStatus.Created, testee.Status); }
public async Task <IActionResult> Get([FromQuery(Name = "condition")] bool condition = true) // false: Not Found { var actionResult = new AnyVariable <IActionResult>(); var activity = new IfActivity() { Condition = new TrueCondition() { Value = new AnyVariable <bool>() { Value = condition } }, Then = new AssignActivity() { To = actionResult, Value = new OkObjectResultVariable() { Value = new AnyVariable() { Value = "Hello World!" } } }, Else = new AssignActivity() { To = actionResult, Value = new NotFoundResultVariable() } }; await activity.Start(); return(actionResult.GetValue()); }
public async Task Test___Method_Stop___Status_Executing() { var duration = new AnyVariable <int>() { Value = 1000 }; var testee = new SequenceActivity() { Activities = new List <IActivity>() { new DelayActivity() { Duration = duration }, new DelayActivity() { Duration = duration } } }; var task = testee.Start(); Assert.AreEqual(ActivityStatus.Executing, testee.Status); testee.Stop(); await task; Assert.AreEqual(ActivityStatus.Stopped, testee.Status); }
public void Test___Method_Stop___Status_Created() { var variable1 = new AnyVariable <int>(); var variable2 = new AnyVariable <int>(); var testee = new SequenceActivity() { Activities = new List <IActivity>() { new AssignActivity() { To = variable1, Value = new AnyVariable <int>() { Value = 10 } }, new AssignActivity() { To = variable2, Value = new AnyVariable <int>() { Value = 20 } } } }; testee.Stop(); Assert.AreEqual(ActivityStatus.Stopped, testee.Status); Assert.IsNull(variable1.GetValueAsObject()); Assert.IsNull(variable2.GetValueAsObject()); }
public async Task Test___Method_Start___Status_Created() { var variable1 = new AnyVariable <int>(); var variable2 = new AnyVariable <int>(); var testee = new SequenceActivity() { Activities = new List <IActivity>() { new AssignActivity() { To = variable1, Value = new AnyVariable <int>() { Value = 10 } }, new AssignActivity() { To = variable2, Value = new AnyVariable <int>() { Value = 20 } } } }; await testee.Start(); Assert.AreEqual(ActivityStatus.Completed, testee.Status); Assert.AreEqual(10, variable1.GetValueAsObject()); Assert.AreEqual(20, variable2.GetValueAsObject()); }
public void Test___Method_GetValue___Generic_Method___enum_to_int() { var testee = new AnyVariable <ActivityStatus>() { Value = ActivityStatus.Created }; Assert.AreEqual(0, testee.GetValue <int>()); }
public static SelectList Create(ColumnReference cr) { // Create new expression var nsl = new SelectList(); var nce = new ColumnExpression(); nce.ColumnReference = new ColumnReference(cr); nsl.Stack.AddLast(nce); var nex = new Expression(); nce.Stack.AddLast(nex); var nav = new AnyVariable(); nex.Stack.AddLast(nav); nav.Stack.AddLast(ColumnIdentifier.Create(new ColumnReference(cr))); return nsl; }