コード例 #1
0
 public OptimiserRunnerParallelTests()
 {
     builder = new ObjectCreators.OptimiserBuilderMock();
     runner  = new OptimiserRunnerParallel(builder,
                                           new ObjectCreators.EvaluatorMock(),
                                           p => p.AbsoluteDecisionVectorConvergence(1),
                                           p => { });
 }
コード例 #2
0
        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));
        }
コード例 #3
0
        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);
        }