public void Call_the_fault_action_if_supplied() { var faultCalled = false; Action operation = () => { throw new Exception("fun!"); }; Action<Exception> fault = (e) => faultCalled = true; Action completed = () => { var one = 1; }; var item = new WorkItem(new List<Action> {operation}, fault, completed); item.ProcessOperations(); item.Complete(); Assert.That(faultCalled, Is.True); }
public void Rethrow_the_exception_if_there_is_no_fault_action() { Action operation = () => { throw new Exception("fun!"); }; Action completed = () => { var one = 1; }; try { var item = new WorkItem(new List<Action> {operation}, null, completed); item.ProcessOperations(); item.Complete(); } catch (Exception ex) { Assert.That(ex.Message, Is.EqualTo("fun!")); return; } Assert.Fail(); }
public void Do_not_call_the_completed_action() { var processed = false; Action operation = () => { var one = 1; }; Action completed = () => { processed = true; }; var item = new WorkItem(new List<Action> { operation }, null, completed); // user forgot to call this: item.ProcessOperations(); item.Complete(); Assert.That(processed, Is.False); }
public void Call_the_completed_action() { var processed = false; Action operation = () => { var one = 1; }; Action completed = () => { processed = true; }; var item = new WorkItem(new List<Action> { operation }, null, completed); item.ProcessOperations(); item.Complete(); Assert.That(processed, Is.True); }