public OptimiserRunnerParallelTests() { builder = new ObjectCreators.OptimiserBuilderMock(); runner = new OptimiserRunnerParallel(builder, new ObjectCreators.EvaluatorMock(), p => p.AbsoluteDecisionVectorConvergence(1), p => { }); }
public void Run_IndividualIsIllegal_AssignsPenaltyValue() { var illegalRunner = new OptimiserRunnerParallel( builder, new ObjectCreators.EvaluatorWithErrorMock(false), p => p.AbsoluteDecisionVectorConvergence(1), p => { }); illegalRunner.Run(); Assert.True(illegalRunner.AllEvaluated.All(i => i.Fitness == ObjectCreators.OptimiserBuilderMock.PenaltyValue)); }
public void Run_EvaluatorThrowsError_ErrorWrappedAndThrown() { var errorRunner = new OptimiserRunnerParallel( builder, new ObjectCreators.EvaluatorWithErrorMock(), p => p.AbsoluteDecisionVectorConvergence(1), p => { }); var failed = false; try { errorRunner.Run(); } catch (AggregateException e) { Assert.IsType <InvalidOperationException>(e.InnerException); failed = true; } Assert.True(failed); }