public void first_task_starts_on_second_stage_on_first_stage_completion() { _q.Process(); _q.Process(); _t1.Complete(); _q.Process(); Assert.That(_t1.StartedOn(1)); }
public void first_task_keeps_other_blocked_at_stage_two() { _t1.Complete(); _q.Process(max: 2); _q.Process(max: 2); _t2.Complete(); _t3.Complete(); _q.Process(); Assert.That(!_t2.StartedOn(2)); Assert.That(!_t3.StartedOn(2)); }
public void second_task_does_not_start_on_second_stage_on_first_stage_completion() { _q.Process(); _q.Process(); _t2.Complete(); _q.Process(); _q.Process(); Assert.That(!_t2.StartedOn(1)); }
public void first_task_keeps_other_blocked_at_stage_two() { _t1.Complete(); var processed4 = _q.Process(); var processed5 = _q.Process(); _t2.Complete(); _t3.Complete(); var processed7 = _q.Process(); Assert.AreEqual(1, _processed1); Assert.AreEqual(2, _processed2); Assert.AreEqual(2, _processed3); Assert.AreEqual(1, processed4); Assert.AreEqual(0, processed5); Assert.AreEqual(0, processed7); }
public void first_task_completed_unblocks_both_tasks() { _t1.Complete(); _q.Process(); _q.Process(); Assert.That(_t1.StartedOn(1)); Assert.That(_t2.StartedOn(1)); }
public void first_task_completed_unblocks_both_tasks() { _t1.Complete(); var processed4 = _q.Process(); var processed5 = _q.Process(); Assert.AreEqual(1, _processed1); Assert.AreEqual(2, _processed2); Assert.AreEqual(0, _processed3); Assert.AreEqual(1, processed4); Assert.AreEqual(0, processed5); }
public void first_task_starts_on_second_stage_on_first_stage_completion() { _q.Process(); _t1.Complete(); }
public void first_task_starts_on_second_stage_on_first_stage_completion() { _q.Process(); Assert.Throws <InvalidOperationException>(() => { _t1.Complete(); }); }