deltagpfitnessevaluatortest.java

来自「一个开源的用java开发的遗传算法的封装好的工程」· Java 代码 · 共 116 行

JAVA
116
字号
/*
 * This file is part of JGAP.
 *
 * JGAP offers a dual license model containing the LGPL as well as the MPL.
 *
 * For licencing information please see the file license.txt included with JGAP
 * or have a look at the top of class org.jgap.Chromosome which representatively
 * includes the JGAP license policy applicable for any file delivered with JGAP.
 */
package org.jgap.gp.impl;

import junit.framework.*;
import org.jgap.*;
import org.jgap.gp.impl.*;
import org.jgap.gp.*;

/**
 * Tests the DeltaGPFitnessEvaluator class.
 *
 * @author Klaus Meffert
 * @since 3.1
 */
public class DeltaGPFitnessEvaluatorTest
    extends GPTestCase {
  /** String containing the CVS revision. Read out via reflection!*/
  private final static String CVS_REVISION = "$Revision: 1.1 $";

  public static Test suite() {
    TestSuite suite = new TestSuite(DeltaGPFitnessEvaluatorTest.class);
    return suite;
  }

  public void setUp() {
    super.setUp();
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.1
   */
  public void testisFitter_0()
      throws Exception {
    GPProgram prog = new GPProgram(m_gpconf, 1);
    ProgramChromosome chrom = new ProgramChromosome(m_gpconf, 2, prog);
    prog.setChromosome(0, chrom);
    prog.setFitnessValue(1.0d);
    GPProgram prog2 = new GPProgram(m_gpconf, 1);
    ProgramChromosome chrom2 = new ProgramChromosome(m_gpconf, 2, prog2);
    prog2.setChromosome(0, chrom2);
    prog2.setFitnessValue(2.0d);
    DeltaGPFitnessEvaluator eval = new DeltaGPFitnessEvaluator();
    assertTrue(eval.isFitter(prog, prog2));
    assertFalse(eval.isFitter(prog2, prog));
    assertFalse(eval.isFitter(prog2, prog2));
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.1
   */
  public void testisFitter_1()
      throws Exception {
    GPProgram prog = new GPProgram(m_gpconf, 1);
    ProgramChromosome chrom = new ProgramChromosome(m_gpconf, 2, prog);
    prog.setChromosome(0, chrom);
    prog.setFitnessValue(2.0d);
    GPProgram prog2 = new GPProgram(m_gpconf, 1);
    ProgramChromosome chrom2 = new ProgramChromosome(m_gpconf, 2, prog2);
    prog2.setChromosome(0, chrom2);
    prog2.setFitnessValue(Double.NaN);
    DeltaGPFitnessEvaluator eval = new DeltaGPFitnessEvaluator();
    assertTrue(eval.isFitter(prog, prog2));
    assertFalse(eval.isFitter(prog2, prog));
    assertFalse(eval.isFitter(prog2, prog2));
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.01
   */
  public void testisFitter_2()
      throws Exception {
    GPProgram prog = new GPProgram(m_gpconf, 1);
    ProgramChromosome chrom = new ProgramChromosome(m_gpconf, 2, prog);
    prog.setChromosome(0, chrom);
    prog.setFitnessValue(Double.NaN);
    GPProgram prog2 = new GPProgram(m_gpconf, 1);
    ProgramChromosome chrom2 = new ProgramChromosome(m_gpconf, 2, prog2);
    prog2.setChromosome(0, chrom2);
    prog2.setFitnessValue(2.0d);
    DeltaGPFitnessEvaluator eval = new DeltaGPFitnessEvaluator();
    assertTrue(eval.isFitter(prog2, prog));
    assertFalse(eval.isFitter(prog, prog2));
  }

  /**
   * @throws Exception
   *
   * @author Klaus Meffert
   * @since 3.1
   */
  public void testSerialize_0()
      throws Exception {
    DeltaGPFitnessEvaluator eval = new DeltaGPFitnessEvaluator();
    DeltaGPFitnessEvaluator eval2 = (DeltaGPFitnessEvaluator) doSerialize(
        eval);
    assertEquals(eval, eval2);
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?