public void Evaluate_DiffChromosomes_DiffFitness() { // Equation A + B = 3. var target = new EquationSolverFitness( 3, (genes) => { return(genes.Select(g => (int)g.Value).Sum()); }); var chromosome = new EquationChromosome(3, 2); chromosome.ReplaceGene(0, new Gene(1)); chromosome.ReplaceGene(1, new Gene(2)); var actual = target.Evaluate(chromosome); Assert.AreEqual(0, actual); chromosome.ReplaceGene(1, new Gene(3)); actual = target.Evaluate(chromosome); Assert.AreEqual(-1, actual); }
/// <summary> /// Creates the fitness. /// </summary> /// <returns>The fitness.</returns> public override IFitness CreateFitness() { m_fitness = new EquationSolverFitness(m_equationResult, GetEquationResult); return(m_fitness); }