/**
* Copyright (C) 2010-2017 Gordon Fraser, Andrea Arcuri and EvoSuite
* contributors
*
* This file is part of EvoSuite.
*
* EvoSuite is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation, either version 3.0 of the License, or
* (at your option) any later version.
*
* EvoSuite is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with EvoSuite. If not, see <http://www.gnu.org/licenses/>.
*/
/**
*
*/
package org.evosuite.basic;
import org.evosuite.EvoSuite;
import org.evosuite.Properties;
import org.evosuite.SystemTestBase;
import org.evosuite.ga.metaheuristics.GeneticAlgorithm;
import org.evosuite.strategy.TestGenerationStrategy;
import org.evosuite.testsuite.TestSuiteChromosome;
import org.junit.Assert;
import org.junit.Test;
import com.examples.with.different.packagename.generic.AbstractGenericClass;
import com.examples.with.different.packagename.generic.AbstractGuavaExample;
import com.examples.with.different.packagename.generic.DelayedQueueExample;
import com.examples.with.different.packagename.generic.GenericArray;
import com.examples.with.different.packagename.generic.GenericArrayWithGenericType;
import com.examples.with.different.packagename.generic.GenericArrayWithGenericTypeVariable;
import com.examples.with.different.packagename.generic.GenericClassWithGenericMethod;
import com.examples.with.different.packagename.generic.GenericClassWithGenericMethodAndSubclass;
import com.examples.with.different.packagename.generic.GenericCollectionUtil;
import com.examples.with.different.packagename.generic.GenericConstructorParameterOnRawList;
import com.examples.with.different.packagename.generic.GenericGenericParameter;
import com.examples.with.different.packagename.generic.GenericMemberclass;
import com.examples.with.different.packagename.generic.GenericMethod;
import com.examples.with.different.packagename.generic.GenericMethodAlternativeBounds;
import com.examples.with.different.packagename.generic.GenericMethodReturningTypeVariable;
import com.examples.with.different.packagename.generic.GenericMethodWithBounds;
import com.examples.with.different.packagename.generic.GenericOnlyInMemberclass;
import com.examples.with.different.packagename.generic.GenericParameterExtendingGenericBounds;
import com.examples.with.different.packagename.generic.GenericParameterWithBound;
import com.examples.with.different.packagename.generic.GenericParameterWithGenericBound;
import com.examples.with.different.packagename.generic.GenericParameters1;
import com.examples.with.different.packagename.generic.GenericParameters2;
import com.examples.with.different.packagename.generic.GenericParameters3;
import com.examples.with.different.packagename.generic.GenericParameters4;
import com.examples.with.different.packagename.generic.GenericParameters5;
import com.examples.with.different.packagename.generic.GenericParameters6;
import com.examples.with.different.packagename.generic.GenericParameters7;
import com.examples.with.different.packagename.generic.GenericParameters8;
import com.examples.with.different.packagename.generic.GenericSUT;
import com.examples.with.different.packagename.generic.GenericSUTString;
import com.examples.with.different.packagename.generic.GenericSUTTwoParameters;
import com.examples.with.different.packagename.generic.GenericStaticMemberclass;
import com.examples.with.different.packagename.generic.GenericStaticMethod1;
import com.examples.with.different.packagename.generic.GenericStaticMethod2;
import com.examples.with.different.packagename.generic.GenericStaticMethod3;
import com.examples.with.different.packagename.generic.GenericStaticMethod4;
import com.examples.with.different.packagename.generic.GenericSuperclassOmittingTypeParameters;
import com.examples.with.different.packagename.generic.GenericTripleParameter;
import com.examples.with.different.packagename.generic.GenericTwoDimensionalArray;
import com.examples.with.different.packagename.generic.GenericVarArgMethod;
import com.examples.with.different.packagename.generic.GenericWildcardParameter;
import com.examples.with.different.packagename.generic.GenericWithPartialParameters;
import com.examples.with.different.packagename.generic.GenericWithWildcardParameter;
import com.examples.with.different.packagename.generic.GuavaExample;
import com.examples.with.different.packagename.generic.GuavaExample2;
import com.examples.with.different.packagename.generic.GuavaExample3;
import com.examples.with.different.packagename.generic.GuavaExample5;
import com.examples.with.different.packagename.generic.PartiallyGenericReturnType;
import com.examples.with.different.packagename.generic.ReallyCaselessMap;
/**
* @author Gordon Fraser
*
*/
public class GenericsSystemTest extends SystemTestBase {
@Test
public void testGenericList() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericParameters1.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
Properties.SEARCH_BUDGET = 80000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
Assert.assertTrue(result != null);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
int goals = TestGenerationStrategy.getFitnessFactories().get(0).getCoverageGoals().size(); // assuming single fitness function
Assert.assertEquals("Wrong number of goals: ", 7, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericStringListLength() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericParameters2.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
Assert.assertTrue(result != null);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
int goals = TestGenerationStrategy.getFitnessFactories().get(0).getCoverageGoals().size(); // assuming single fitness function
Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericStringMap() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericParameters3.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
Assert.assertTrue(result != null);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
int goals = TestGenerationStrategy.getFitnessFactories().get(0).getCoverageGoals().size(); // assuming single fitness function
Assert.assertEquals("Wrong number of goals: ", 5, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericListsDifferentTypes() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericParameters4.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
Properties.SEARCH_BUDGET = 80000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
Assert.assertTrue(result != null);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
int goals = TestGenerationStrategy.getFitnessFactories().get(0).getCoverageGoals().size(); // assuming single fitness function
Assert.assertEquals("Wrong number of goals: ", 5, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericWildcardList() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericParameters5.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
Properties.SEARCH_BUDGET = 80000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
Assert.assertTrue(result != null);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
int goals = TestGenerationStrategy.getFitnessFactories().get(0).getCoverageGoals().size(); // assuming single fitness function
Assert.assertEquals("Wrong number of goals: ", 5, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericWildcardStringList() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericParameters6.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
Properties.SEARCH_BUDGET = 80000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
int goals = TestGenerationStrategy.getFitnessFactories().get(0).getCoverageGoals().size(); // assuming single fitness function
Assert.assertEquals("Wrong number of goals: ", 5, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericSUT() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericSUT.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
int goals = TestGenerationStrategy.getFitnessFactories().get(0).getCoverageGoals().size(); // assuming single fitness function
Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericSUTTwoParameters() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericSUTTwoParameters.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
int goals = TestGenerationStrategy.getFitnessFactories().get(0).getCoverageGoals().size(); // assuming single fitness function
Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericSUTString() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericSUTString.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
int goals = TestGenerationStrategy.getFitnessFactories().get(0).getCoverageGoals().size(); // assuming single fitness function
Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericRawTypes() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericParameters7.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
Properties.SEARCH_BUDGET = 50000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
int goals = TestGenerationStrategy.getFitnessFactories().get(0).getCoverageGoals().size(); // assuming single fitness function
Assert.assertEquals("Wrong number of goals: ", 4, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericRawParameterTypes() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericParameters8.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
int goals = TestGenerationStrategy.getFitnessFactories().get(0).getCoverageGoals().size(); // assuming single fitness function
Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericMemberclass() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericMemberclass.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericStaticMemberclass() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericStaticMemberclass.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericOnlyInMemberclass() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericOnlyInMemberclass.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericArray() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericArray.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericTwoDimensionalArray() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericTwoDimensionalArray.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericArrayWithGenericType() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericArrayWithGenericType.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
String testSuite = best.toString();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertFalse(testSuite.contains("? listArray"));
// Assert.assertFalse(testSuite.contains("List<?>"));
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericArrayWithGenericTypeVariable() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericArrayWithGenericTypeVariable.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
String testSuite = best.toString();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertFalse(testSuite.contains("? listArray"));
Assert.assertFalse(testSuite.contains("List<?>"));
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericGenericParameter() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericGenericParameter.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
Properties.SEARCH_BUDGET = 80000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericParameterWithBounds() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericParameterWithBound.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
Properties.SEARCH_BUDGET = 50000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericParameterWithGenericBound() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericParameterWithGenericBound.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
Properties.SEARCH_BUDGET = 20000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericWildcardParameter() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericWildcardParameter.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// String testSuite = best.toString();
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
// Is this valid or not:
// Assert.assertFalse(testSuite.contains("List<?>"));
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericSuperclassOmittingTypeParameter() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericSuperclassOmittingTypeParameters.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericMethod() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericMethod.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericMethodWithBounds() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericMethodWithBounds.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericConstructorParameterOnRawList() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericConstructorParameterOnRawList.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericTypeWithGenericParameter() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericParameterExtendingGenericBounds.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
Properties.SEARCH_BUDGET = 50000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testDifferingNumberOfTypeParameters() {
EvoSuite evosuite = new EvoSuite();
String targetClass = ReallyCaselessMap.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
Properties.SEARCH_BUDGET = 50000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericMethodWithEnumBounds() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericMethodAlternativeBounds.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
// Properties.SEARCH_BUDGET = 50000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericClassWithGenericMethod() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericClassWithGenericMethod.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
// Properties.SEARCH_BUDGET = 50000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericClassWithGenericMethodAndSubclass() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericClassWithGenericMethodAndSubclass.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
// Properties.SEARCH_BUDGET = 50000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericClassWithThreeParameters() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericTripleParameter.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
// Properties.SEARCH_BUDGET = 50000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericClassWithWildcardParameter() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericWithWildcardParameter.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
// Properties.SEARCH_BUDGET = 50000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericGuavaExample() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GuavaExample.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
// Properties.SEARCH_BUDGET = 50000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericGuavaExample2() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GuavaExample2.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
// Properties.SEARCH_BUDGET = 50000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericGuavaExample3() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GuavaExample3.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
// Properties.SEARCH_BUDGET = 50000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testPartialGenericExample() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericWithPartialParameters.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
// Properties.SEARCH_BUDGET = 50000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericMethodReturningTypeVariable() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericMethodReturningTypeVariable.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
// Properties.SEARCH_BUDGET = 50000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericAbstractMethod() {
EvoSuite evosuite = new EvoSuite();
String targetClass = AbstractGenericClass.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
// Properties.SEARCH_BUDGET = 50000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericGuavaExample5() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GuavaExample5.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
// Properties.SEARCH_BUDGET = 50000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericGuavaExample5Abstract() {
EvoSuite evosuite = new EvoSuite();
String targetClass = AbstractGuavaExample.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
Properties.SEARCH_BUDGET = 250000;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericVarArgs() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericVarArgMethod.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testGenericQueue() {
EvoSuite evosuite = new EvoSuite();
String targetClass = DelayedQueueExample.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testPartiallyGenericReturnType() {
EvoSuite evosuite = new EvoSuite();
String targetClass = PartiallyGenericReturnType.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testStaticGenericMethod1() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericStaticMethod1.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testStaticGenericMethod2() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericStaticMethod2.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testStaticGenericMethod3() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericStaticMethod3.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testStaticGenericMethod4() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericStaticMethod4.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
@Test
public void testStaticGenericUtils1() {
EvoSuite evosuite = new EvoSuite();
String targetClass = GenericCollectionUtil.class.getCanonicalName();
Properties.TARGET_CLASS = targetClass;
String[] command = new String[] { "-generateSuite", "-class", targetClass };
Object result = evosuite.parseCommandLine(command);
GeneticAlgorithm<?> ga = getGAFromResult(result);
TestSuiteChromosome best = (TestSuiteChromosome) ga.getBestIndividual();
System.out.println("EvolvedTestSuite:\n" + best);
// int goals = TestSuiteGenerator.getFitnessFactory().getCoverageGoals().size();
// Assert.assertEquals("Wrong number of goals: ", 3, goals);
Assert.assertEquals("Non-optimal coverage: ", 1d, best.getCoverage(), 0.001);
}
}