/* * 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.impl; import org.jgap.*; import junit.framework.*; /** * Tests the ChromosomePool class. * * @author Klaus Meffert * @since 2.0 */ public class ChromosomePoolTest extends JGAPTestCase { /** String containing the CVS revision. Read out via reflection!*/ private final static String CVS_REVISION = "$Revision: 1.10 $"; public static Test suite() { TestSuite suite = new TestSuite(ChromosomePoolTest.class); return suite; } public void setUp() { super.setUp(); Configuration.reset(); } /** * Test if construction possible without failure. * @throws Exception * * @author Klaus Meffert * @since 2.0 */ public void testConstruct_0() throws Exception { ChromosomePool pool = new ChromosomePool(); Pool p = (Pool)privateAccessor.getField(pool, "m_chromosomePool"); assertNotNull(p); } /** * @author Klaus Meffert * @since 2.0 */ public void testAquireChromosome_0() { assertEquals(null, new ChromosomePool().acquireChromosome()); } /** * @author Klaus Meffert * @since 2.0 */ public void testReleaseChromosome_0() { try { new ChromosomePool().releaseChromosome(null); fail(); } catch (IllegalArgumentException nex) { ; //this is OK } } /** * Should be possible without exception. * @throws Exception * * @author Klaus Meffert * @since 2.0 */ public void testReleaseChromosome_1() throws Exception { ChromosomePool pool = new ChromosomePool(); Configuration conf = new DefaultConfiguration(); conf.setFitnessFunction(new TestFitnessFunction()); conf.setPopulationSize(5); Gene sampleGene = new IntegerGene(conf, 1, 10); Chromosome chrom = new Chromosome(conf, sampleGene, 3); conf.setSampleChromosome(chrom); pool.releaseChromosome(chrom); } }