/* * 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 DefaultInitializer class. * * @author Klaus Meffert * @since 2.6 */ public class DefaultInitializerTest extends JGAPTestCase { /** String containing the CVS revision. Read out via reflection!*/ private static final String CVS_REVISION = "$Revision: 1.4 $"; public static Test suite() { TestSuite suite = new TestSuite(DefaultInitializerTest.class); return suite; } /** * @throws Exception * * @author Klaus Meffert * @since 2.6 */ public void testIsHandlerFor_0() throws Exception { IHandler handler = new DefaultInitializer(); assertFalse(handler.isHandlerFor(null, Object.class)); assertTrue(handler.isHandlerFor(null, Chromosome.class)); assertFalse(handler.isHandlerFor(null,DefaultInitializer.class)); assertFalse(handler.isHandlerFor(new DefaultInitializer(), DefaultInitializer.class)); assertTrue(handler.isHandlerFor(new MyInitializerForTesting(), MyInitializerForTesting.class)); } /** * @throws Exception * * @author Klaus meffert * @since 2.6 */ public void testPerform_0() throws Exception { IHandler handler = new DefaultInitializer(); Chromosome orig = new Chromosome(conf); try { handler.perform(orig, Chromosome.class, null); fail(); } catch (InvalidConfigurationException iex) { ; //this is OK (Configuration is null) } } /** * @throws Exception * * @author Klaus meffert * @since 2.6 */ public void testPerform_1() throws Exception { IHandler handler = new DefaultCloneHandler(); FixedBinaryGene orig = new FixedBinaryGene(conf, 3); FixedBinaryGene clone = (FixedBinaryGene) handler.perform(orig, FixedBinaryGene.class, null); assertEquals(orig, clone); } public class MyInitializerForTesting implements IInitializer { public boolean isHandlerFor(final Object a_obj, final Class a_class) { return true; } public Object perform(final Object a_obj, final Class a_class, final Object a_params) throws Exception { return null; } } }