public void EvaluateFitnessWithNullArgument()
 {
     using (var parameters = new ExpressionEvolverGeneticAlgorithmParameters(
                a => a))
     {
         parameters.FitnessEvaluator(null);
     }
 }
        public void EvaluateFitnessOnDisposedObject()
        {
            ExpressionEvolverGeneticAlgorithmParameters parameters = null;

            using (parameters = new ExpressionEvolverGeneticAlgorithmParameters(
                       a => a)) { }

            parameters.FitnessEvaluator(null);
        }
        public void EvaluateFitnessWithExceptionAndResultExpectationIsException()
        {
            var results = new List <ExpressionEvolverResult> {
                new ExpressionEvolverResult(0d, new ArithmeticException())
            }.AsReadOnly();

            using (var parameters = new ExpressionEvolverGeneticAlgorithmParameters(
                       results))
            {
                Assert.AreEqual(0d, parameters.FitnessEvaluator(a => (double)(1 / (int)a)));
            }
        }
        public void EvaluateFitness()
        {
            var results = new List <ExpressionEvolverResult> {
                new ExpressionEvolverResult(1d, 1d)
            }.AsReadOnly();

            using (var parameters = new ExpressionEvolverGeneticAlgorithmParameters(
                       results))
            {
                Assert.AreEqual(0d, parameters.FitnessEvaluator(a => a));
            }
        }