@Override public TestChromosome getChromosome() { final int N_mutations = Properties.SEED_MUTATIONS; final double P_clone = Properties.SEED_CLONE; double r = Randomness.nextDouble(); if (r >= P_clone || junitTests.isEmpty()) { logger.debug("Using random test"); return defaultFactory.getChromosome(); } // Cloning logger.info("Cloning user test"); TestCase test = Randomness.choice(junitTests); TestChromosome chromosome = new TestChromosome(); chromosome.setTestCase(test.clone()); if (N_mutations > 0) { int numMutations = Randomness.nextInt(N_mutations); logger.debug("Mutations: " + numMutations); // Delta for (int i = 0; i < numMutations; i++) { chromosome.mutate(); } } return chromosome; }
@Override public void mutate() { theTest.mutate(); if (theTest.isChanged()) { this.increaseNumberOfMutations(); try { updateClassloader(); } catch (NoClassDefFoundError e) { String classname = e.getMessage(); if (classname != null) { // TODO: blacklist class } TestCase t = new DefaultTestCase(); theTest.setTestCase(t); updateClassloader(); } catch (Throwable e) { e.printStackTrace(); } } }
int mutations = Randomness.nextInt(Properties.SEED_MUTATIONS); for (int i = 0; i < mutations; i++) { test.mutate();
this.solution.mutate();
for(int i = 0; i < 10000; i++) { TestChromosome testNew = (TestChromosome) test1.clone(); testNew.mutate(); if(testNew.isChanged()) { suite.deleteTest(test1);
for(int i = 0; i < 10000; i++) { TestChromosome testNew = (TestChromosome) test1.clone(); testNew.mutate(); if(testNew.isChanged()) { suite.deleteTest(test1);
for(int i = 0; i < 100; i++) { TestChromosome testNew = (TestChromosome) test1.clone(); testNew.mutate(); if(testNew.isChanged()) { suite.deleteTest(test1);
for(int i = 0; i < 100; i++) { TestChromosome testNew = (TestChromosome) test1.clone(); testNew.mutate(); if(testNew.isChanged()) { suite.deleteTest(test1);
for(int i = 0; i < 10000; i++) { TestChromosome testNew = (TestChromosome) test1.clone(); testNew.mutate(); if(testNew.isChanged()) { suite.deleteTest(test1);
for(int i = 0; i < 10000; i++) { TestChromosome testNew = (TestChromosome) test1.clone(); testNew.mutate(); if(testNew.isChanged()) { suite.deleteTest(test1);
for(int i = 0; i < 100; i++) { TestChromosome testNew = (TestChromosome) test1.clone(); testNew.mutate(); if(testNew.isChanged()) { System.out.println("Trying: "+testNew);
for(int i = 0; i < 10000; i++) { TestChromosome testNew = (TestChromosome) test1.clone(); testNew.mutate(); if(testNew.isChanged()) { suite.deleteTest(test1);