public void OperationRunnerTwoOperationsSuccess() { OperationRunner runner = new OperationRunner( null, _wizardPage); int execution = 0; for (int i = 0; i < 2; i++) { runner.Operations.Enqueue(new Operation() { Name = $"Operation_{i}", OperationFunction = (context) => { execution++; return(null); }, ValidateFunction = (context) => { return(context.LastOperationStatusCode == 0); }, }); } runner.RunOperations(); Assert.AreEqual(2, execution, $"Unexpected number of operations executed ('1' != '{execution}')!"); }
public void OperationRunnerSingleOperationSuccess() { OperationRunner runner = new OperationRunner( null, _wizardPage); int execution = 0; runner.Operations.Enqueue(new Operation() { Name = "SingleOperation", OperationFunction = (context) => { execution++; return(null); }, ValidateFunction = (context) => { return(context.LastOperationStatusCode == 0); }, }); runner.RunOperations(); Assert.AreEqual(1, execution, $"Unexpected number of operations executed ('1' != '{execution}')!"); }
public void OperationRunnerFiveOperationsExceptionOnThird() { OperationRunner runner = new OperationRunner( null, _wizardPage); int execution = 0; bool handledException = false; for (int i = 0; i < 5; i++) { if (i == 2) { runner.Operations.Enqueue(new Operation() { Name = $"Operation_{i}", OperationFunction = (context) => { execution++; throw new Exception("Halt here!"); }, ValidateFunction = (context) => { return(context.LastOperationStatusCode == 0); }, ExceptionHandler = (ex) => { handledException = true; }, }); } else { runner.Operations.Enqueue(new Operation() { Name = $"Operation_{i}", OperationFunction = (context) => { execution++; return(null); }, ValidateFunction = (context) => { return(context.LastOperationStatusCode == 0); }, }); } } runner.RunOperations(); Assert.AreEqual(3, execution, $"Unexpected number of operations executed ('1' != '{execution}')!"); Assert.IsTrue(handledException, "Operation should have been passed exception thrown!"); }
public void OperationRunnerFiveOperationsValidationFailOnFourth() { OperationRunner runner = new OperationRunner( null, _wizardPage); int execution = 0; for (int i = 0; i < 5; i++) { if (i == 3) { runner.Operations.Enqueue(new Operation() { Name = $"Operation_{i}", OperationFunction = (context) => { execution++; return(null); }, ValidateFunction = (context) => { return(context.LastOperationStatusCode == -1); }, }); } else { runner.Operations.Enqueue(new Operation() { Name = $"Operation_{i}", OperationFunction = (context) => { execution++; return(null); }, ValidateFunction = (context) => { return(context.LastOperationStatusCode == 0); }, }); } } runner.RunOperations(); Assert.AreEqual(4, execution, $"Unexpected number of operations executed ('1' != '{execution}')!"); }