public void Should_return_scheduling_decision_for_child_timer_when_parent_timer_is_fired() { const string parentTimer = "parent", childTimer = "child"; var childTimeout = TimeSpan.FromSeconds(2); var workflow = new WorkflowWithParentChildTimers(parentTimer, childTimer, childTimeout); var timerFiredEventGraph = CreateTimerFiredEventGraph(parentTimer); var decisions = workflow.NewExecutionFor(timerFiredEventGraph).Execute(); Assert.That(decisions, Is.EquivalentTo(new[] { new ScheduleTimerDecision(Identity.Timer(childTimer), childTimeout) })); }
public void Should_return_scheduling_decision_for_child_timer_when_parent_timer_is_fired() { const string parentTimer = "parent", childTimer = "child"; var childTimeout = TimeSpan.FromSeconds(2); var workflow = new WorkflowWithParentChildTimers(parentTimer, childTimer, childTimeout); _eventsBuilder.AddNewEvents(TimerFiredEventGraph(parentTimer)); var decisions = workflow.Decisions(_eventsBuilder.Result()).ToArray(); var scheduleId = Identity.Timer(childTimer).ScheduleId(); Assert.That(decisions.Length, Is.EqualTo(1)); decisions[0].AssertWorkflowItemTimer(scheduleId, childTimeout); }