static void Main(string[] args) { //4.1) SimpleActivity greaterThan100Activity = new SimpleActivity(()=>Console.WriteLine("Value is greater than 100.")); //4.2) SimpleActivity lessThan100Activity = new SimpleActivity(()=>Console.WriteLine("Value is less than 100.")); //3.) Decision<int> greaterOrLess100Decision = new Decision<int>(multipliedValue => multipliedValue > 100, greaterThan100Activity, lessThan100Activity); //2.) InputOutputActivity<int,int> mutiplyBy10Activity = new InputOutputActivity<int, int>(inputValue => inputValue * 10, greaterOrLess100Decision); //1.) OutputActivity<int> getInputValueActivity = new OutputActivity<int>(()=> { Console.Write("Please type in value:"); var input = Console.ReadLine(); return Convert.ToInt32(input); }, mutiplyBy10Activity); WorkflowEngine engine = new WorkflowEngine(); engine.WorkflowProgressChanged += (arg1, arg2, arg3, arg4) => Console.WriteLine("Step:{0}\r\nContext:{1}\r\nSuccess:{2}\r\nException message:{3}", arg1, arg2, arg3, arg4 != null ? arg4.Message : string.Empty); engine.WorkflowCompleted += (arg1, arg2) => Console.WriteLine("Completed:\r\nSucceeded:{0}\r\nException message:{1}", arg1, arg2 != null ? arg2.Message : string.Empty); engine.Run(getInputValueActivity); Console.ReadLine(); engine.Dispose(); }
public void GetActivitiesAfterDate() { var oldActivity = new SimpleActivity { What = "oldActivity", When = DateTime.Now.Subtract(new TimeSpan(5, 0, 0, 0)), Who = _actor }; var newActivity = new SimpleActivity { What = "newActivity", When = DateTime.Now, Who = _actor }; _activityRepo.SendActivity(_feedId, oldActivity); _activityRepo.SendActivity(_feedId, newActivity); var feed = _activityRepo.GetFeed(_feedId, DateTime.Now.Subtract(new TimeSpan(1, 0, 0))); var activity = feed.Activities.FirstOrDefault(a => a.What.ToString() == "newActivity"); Assert.IsNotNull(activity); var ooactivity = feed.Activities.FirstOrDefault(a => a.What.ToString() == "oldActivity"); Assert.IsNull(ooactivity); }
public void DefaultConstructor_ExpectedValues() { // Call var activity = new SimpleActivity(false, false, false); // Assert Assert.AreEqual("Uitvoeren van berekening", activity.Description); Assert.AreEqual(ActivityState.None, activity.State); Assert.IsNull(activity.ProgressText); }
public void Cancel_ActivityWithSuccessfulCancel_StateIsChangedToCanceled() { // Setup var activity = new SimpleActivity(false, false, false); // Call activity.Cancel(); // Assert Assert.AreEqual(ActivityState.Canceled, activity.State); }
public void Run_ActivityWithFailingRun_StateIsChangedToFailed() { // Setup var activity = new SimpleActivity(true, false, false); // Call activity.Run(); // Assert Assert.AreEqual(ActivityState.Failed, activity.State); }
public void Run_ActivityWithSuccessfulRun_StateIsChangedToExecuted() { // Setup var activity = new SimpleActivity(false, false, false); // Call activity.Run(); // Assert Assert.AreEqual(ActivityState.Executed, activity.State); }
public void Finish_ActivityWithNoneStateAndFailingFinish_StateIsPreserved() { // Setup var activity = new SimpleActivity(false, false, true); // Call activity.Finish(); // Assert Assert.AreEqual(ActivityState.None, activity.State); }
public void Finish_ActivityWithSpecificStateAndFailingFinish_StateIsChangedToFailed(ActivityState state) { // Setup var activity = new SimpleActivity(false, false, true, state); // Call activity.Finish(); // Assert Assert.AreEqual(ActivityState.Failed, activity.State); }
public void LogState_ActivityWithSpecificState_MessageIsSentToLog(ActivityState state, string message) { // Setup var activity = new SimpleActivity(false, false, false, state); // Call / Assert TestHelper.AssertLogMessagesAreGenerated(() => activity.LogState(), new[] { message }); }
public void Cancel_ActivityWithFailingCancel_StateIsChangedToFailed() { // Setup var activity = new SimpleActivity(false, true, false); // Call activity.Cancel(); // Assert Assert.AreEqual(ActivityState.Failed, activity.State); }
public ActionResult Index() { var workflow = new SimpleActivity(); var outputs = WorkflowInvoker.Invoke(workflow); var message = (String)outputs["value"]; //ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application."; ViewBag.Message = message; return View(); }
public void ProgressText_SetValue_ProgressChangedListenersAreNotified() { // Setup const string someProgress = "Some progress"; var counter = 0; var activity = new SimpleActivity(false, false, false); activity.ProgressChanged += (sender, args) => counter++; // Call activity.SetProgressText(someProgress); // Assert Assert.AreEqual(1, counter); Assert.AreEqual(someProgress, activity.ProgressText); }