/*
* This file is part of JGAP.
*
* JGAP offers a dual license model containing the LGPL as well as the MPL.
*
* For licensing 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.2 $";
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);
}
}