/** * @throws Exception * @author Klaus Meffert */ public void testLock_0() throws Exception { Configuration conf = new Configuration(); try { conf.lockSettings(); fail(); } catch (InvalidConfigurationException invex) {; // this is OK } }
/** @author Klaus Meffert */ public void testAddGeneticOperator_1() { Configuration conf = new Configuration(); try { conf.lockSettings(); conf.addGeneticOperator(new MutationOperator()); fail(); } catch (InvalidConfigurationException invex) {; // this is OK } }
/** * @throws Exception * @author Klaus Meffert */ public void testIsLocked_0() throws Exception { Configuration conf = new Configuration(); assertEquals(false, conf.isLocked()); conf.setFitnessFunction(new StaticFitnessFunction(2)); conf.setFitnessEvaluator(new DefaultFitnessEvaluator()); Gene gene = new BooleanGene(conf); conf.setSampleChromosome(new Chromosome(conf, gene, 5)); conf.addNaturalSelector(new WeightedRouletteSelector(conf), false); conf.setRandomGenerator(new StockRandomGenerator()); conf.setEventManager(new EventManager()); conf.addGeneticOperator(new MutationOperator(conf)); conf.setPopulationSize(1); assertEquals(false, conf.isLocked()); conf.lockSettings(); assertEquals(true, conf.isLocked()); }
/** * Clone after settings locked. * * @throws Exception * @author Klaus Meffert * @since 3.2 */ public void testClone_2() throws Exception { Configuration conf = new Configuration(); conf.setFitnessFunction(new StaticFitnessFunction(2)); Gene gene = new BooleanGene(conf); conf.setSampleChromosome(new Chromosome(conf, gene, 5)); conf.addNaturalSelector(new WeightedRouletteSelector(conf), true); conf.setRandomGenerator(new StockRandomGenerator()); conf.setEventManager(new EventManager()); conf.setFitnessEvaluator(new DefaultFitnessEvaluator()); conf.addGeneticOperator(new MutationOperator(conf)); conf.addGeneticOperator(new CrossoverOperator(conf, 2)); conf.setPopulationSize(1); conf.lockSettings(); Configuration theClone = (Configuration) conf.clone(); assertEquals(conf, theClone); assertEquals(2, theClone.getGeneticOperators().size()); assertEquals(MutationOperator.class, theClone.getGeneticOperators().get(0).getClass()); assertEquals(CrossoverOperator.class, theClone.getGeneticOperators().get(1).getClass()); }
/** * @throws Exception * @author Klaus Meffert */ public void testLock_1() throws Exception { Configuration conf = new Configuration(); conf.setFitnessFunction(new TestFitnessFunction()); Gene gene = new BooleanGene(conf); Chromosome sample = new Chromosome(conf, gene, 55); conf.setSampleChromosome(sample); conf.addNaturalSelector(new WeightedRouletteSelector(conf), false); conf.setRandomGenerator(new GaussianRandomGenerator()); conf.setEventManager(new EventManager()); conf.setFitnessEvaluator(new DefaultFitnessEvaluator()); conf.addGeneticOperator(new MutationOperator(conf)); conf.setPopulationSize(1); conf.lockSettings(); assertEquals(true, conf.isLocked()); try { conf.verifyChangesAllowed(); fail(); } catch (InvalidConfigurationException invex) {; // this is OK } }