public TestMinimization(TestFitnessFunction fitness, TestChromosome test) { this.fitness = fitness; this.individual = test; this.lastFitness = test.getFitness(fitness); }
private static boolean isWorse(FitnessFunction<TestChromosome> fitness, TestChromosome oldChromosome, TestChromosome newChromosome) { if (fitness.isMaximizationFunction()) { if (oldChromosome.getFitness(fitness) > fitness.getFitness(newChromosome)) return true; } else { if (fitness.getFitness(newChromosome) > oldChromosome.getFitness(fitness)) return true; } for (SecondaryObjective objective : TestChromosome.getSecondaryObjectives()) { if (objective.compareChromosomes(oldChromosome, newChromosome) < 0) return true; } return false; }
@Test public void testSerializationEmptyTest() throws IOException, ClassNotFoundException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); double fitness = 3.14; TestChromosome chromosome = new TestChromosome(); chromosome.setFitness(null, fitness); oos.writeObject(chromosome); byte [] baSerialized = baos.toByteArray(); ByteArrayInputStream bais = new ByteArrayInputStream(baSerialized); ObjectInputStream ois = new ObjectInputStream(bais); TestChromosome copy = (TestChromosome) ois.readObject(); Assert.assertEquals(chromosome.getFitness(), copy.getFitness(), 0.0); }
@Test public void testSerializationNonEmptyTest() throws IOException, ClassNotFoundException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); double fitness = 0.9950513142057124d; TestChromosome chromosome = new TestChromosome(); TestCase test = new DefaultTestCase(); PrimitiveStatement<?> statement = PrimitiveStatement.getPrimitiveStatement(test, int.class); test.addStatement(statement); chromosome.setTestCase(test); chromosome.setFitness(null, fitness); oos.writeObject(chromosome); byte [] baSerialized = baos.toByteArray(); ByteArrayInputStream bais = new ByteArrayInputStream(baSerialized); ObjectInputStream ois = new ObjectInputStream(bais); TestChromosome copy = (TestChromosome) ois.readObject(); Assert.assertEquals(chromosome.getFitness(), copy.getFitness(), 0.0); }
ga.generateSolution(); if (ga.getBestIndividual().getFitness() == 0.0) { if (Properties.PRINT_COVERED_GOALS) LoggingUtils.getEvoLogger().info("* Covered!"); // : " +
best_fitness = best.getFitness(rhoTestFitnessFunction);
Assert.assertEquals(chromosome.isChanged(), copy.isChanged()); Assert.assertEquals(chromosome.getTestChromosome(0).getFitness(), copy.getTestChromosome(0).getFitness(), 0.0);