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_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_Created___Cases_Suspended() { var testee = new SwitchActivity() { Value = new AnyVariable <int>() { Value = 1 }, Cases = new Dictionary <object, IActivity>() { { 1, new SuspendActivity() { Until = new FalseCondition() } }, { 2, new NullActivity() } } }; await testee.Start(); Assert.AreEqual(ActivityStatus.Suspended, testee.Status); }
public async Task Test___Method_Stop___Status_Executing() { var to = new AnyVariable(); var testee = new SwitchActivity() { Value = new AnyVariable <int>() { Value = 1 }, Cases = new Dictionary <object, IActivity>() { { 1, new DelayActivity() { Duration = new AnyVariable <int>() { Value = 1000 } } }, { 2, new AssignActivity() { To = to, Value = new AnyVariable() { Value = 1000 } } } } }; var task = testee.Start(); Assert.AreEqual(ActivityStatus.Executing, testee.Status); testee.Stop(); await task; Assert.AreEqual(ActivityStatus.Stopped, testee.Status); }