/** * Provided so that subtypes of this factory type can modify the returned * TestCase * * @return a {@link org.evosuite.testcase.TestCase} object. */ protected TestCase getNewTestCase() { return new DefaultTestCase(); }
/** * Provided so that subtypes of this factory type can modify the returned * TestCase * * @return a {@link org.evosuite.testcase.TestCase} object. */ protected TestCase getNewTestCase() { return new DefaultTestCase(); }
@Test public void testSelfSimilarityBase() { TestCase test = new DefaultTestCase(); double score = DiversityObserver.getNeedlemanWunschScore(test, test); Assert.assertTrue(score <= 0.0); }
@Test public void testEmptyArray() { TestCase test = new DefaultTestCase(); OutputCoverageGoal outputGoal1 = new OutputCoverageGoal("FooClass", "foo", Type.getType("[Ljava.lang.Object;"), ARRAY_EMPTY); OutputCoverageTestFitness goal1 = new OutputCoverageTestFitness(outputGoal1); test.addCoveredGoal(goal1); List<TestCase> tests = new ArrayList<>(); tests.add(test); CoverageGoalTestNameGenerationStrategy naming = new CoverageGoalTestNameGenerationStrategy(tests); assertEquals("testFooReturningEmptyArray", naming.getName(test)); }
@Test public void testNullOutputGoal() { TestCase test = new DefaultTestCase(); OutputCoverageGoal outputGoal1 = new OutputCoverageGoal("FooClass", "foo", Type.getType("Ljava.lang.Object;"), REF_NULL); OutputCoverageTestFitness goal1 = new OutputCoverageTestFitness(outputGoal1); test.addCoveredGoal(goal1); List<TestCase> tests = new ArrayList<>(); tests.add(test); CoverageGoalTestNameGenerationStrategy naming = new CoverageGoalTestNameGenerationStrategy(tests); assertEquals("testFooReturningNull", naming.getName(test)); }
@Test public void testUniqueMethod() { TestCase test = new DefaultTestCase(); MethodCoverageTestFitness goal = new MethodCoverageTestFitness("FooClass", "toString"); test.addCoveredGoal(goal); List<TestCase> tests = new ArrayList<>(); tests.add(test); CoverageGoalTestNameGenerationStrategy naming = new CoverageGoalTestNameGenerationStrategy(tests); String generatedName = naming.getName(test); assertEquals("testToString", generatedName); }
@Test public void testUniqueConstructor() { TestCase test = new DefaultTestCase(); MethodCoverageTestFitness goal = new MethodCoverageTestFitness("FooClass", "<init>"); test.addCoveredGoal(goal); List<TestCase> tests = new ArrayList<>(); tests.add(test); CoverageGoalTestNameGenerationStrategy naming = new CoverageGoalTestNameGenerationStrategy(tests); String generatedName = naming.getName(test); assertEquals("testCreatesFooClass", generatedName); }
@Test public void testBasicSimilarity() { TestCase test1 = new DefaultTestCase(); TestCase test2 = new DefaultTestCase(); PrimitiveStatement<?> aInt = new IntPrimitiveStatement(test1, 42); test1.addStatement(aInt); PrimitiveStatement<?> bInt = new IntPrimitiveStatement(test2, 42); test2.addStatement(bInt); double score = DiversityObserver.getNeedlemanWunschScore(test1, test2); Assert.assertTrue(score > 0); }
@Test public void testConstructorWithFullyQualifiedClassName() { TestCase test = new DefaultTestCase(); MethodCoverageTestFitness goal = new MethodCoverageTestFitness("org.package.name.FooClass", "<init>()"); test.addCoveredGoal(goal); List<TestCase> tests = new ArrayList<>(); tests.add(test); CoverageGoalTestNameGenerationStrategy naming = new CoverageGoalTestNameGenerationStrategy(tests); String generatedName = naming.getName(test); assertEquals("testCreatesFooClass", generatedName); }
@Test public void testConstructorExceptionWithFullyQualifiedClassName() { TestCase test = new DefaultTestCase(); ExceptionCoverageTestFitness goal = new ExceptionCoverageTestFitness("org.package.name.FooClass", "<init>()", RuntimeException.class, ExceptionCoverageTestFitness.ExceptionType.EXPLICIT); test.addCoveredGoal(goal); List<TestCase> tests = new ArrayList<>(); tests.add(test); CoverageGoalTestNameGenerationStrategy naming = new CoverageGoalTestNameGenerationStrategy(tests); String generatedName = naming.getName(test); assertEquals("testFailsToCreateFooClassThrowsRuntimeException", generatedName); }
@Test public void testNumericOutputGoal() { TestCase test = new DefaultTestCase(); OutputCoverageGoal outputGoal1 = new OutputCoverageGoal("FooClass", "foo", Type.INT_TYPE, NUM_POSITIVE); OutputCoverageTestFitness goal1 = new OutputCoverageTestFitness(outputGoal1); test.addCoveredGoal(goal1); List<TestCase> tests = new ArrayList<>(); tests.add(test); CoverageGoalTestNameGenerationStrategy naming = new CoverageGoalTestNameGenerationStrategy(tests); assertEquals("testFooReturningPositive", naming.getName(test)); }
@Test public void testBooleanOutputGoal() { TestCase test = new DefaultTestCase(); OutputCoverageGoal outputGoal1 = new OutputCoverageGoal("FooClass", "foo", Type.BOOLEAN_TYPE, BOOL_TRUE); OutputCoverageTestFitness goal1 = new OutputCoverageTestFitness(outputGoal1); test.addCoveredGoal(goal1); List<TestCase> tests = new ArrayList<>(); tests.add(test); CoverageGoalTestNameGenerationStrategy naming = new CoverageGoalTestNameGenerationStrategy(tests); assertEquals("testFooReturningTrue", naming.getName(test)); }
@Test public void testCharOutputGoal() { TestCase test = new DefaultTestCase(); OutputCoverageGoal outputGoal1 = new OutputCoverageGoal("FooClass", "foo", Type.CHAR_TYPE, CHAR_ALPHA); OutputCoverageTestFitness goal1 = new OutputCoverageTestFitness(outputGoal1); test.addCoveredGoal(goal1); List<TestCase> tests = new ArrayList<>(); tests.add(test); CoverageGoalTestNameGenerationStrategy naming = new CoverageGoalTestNameGenerationStrategy(tests); assertEquals("testFooReturningAlphabeticChar", naming.getName(test)); }
@Test public void testStringOutputGoal() { TestCase test = new DefaultTestCase(); OutputCoverageGoal outputGoal1 = new OutputCoverageGoal("FooClass", "foo", stringType(), STRING_NONEMPTY); OutputCoverageTestFitness goal1 = new OutputCoverageTestFitness(outputGoal1); test.addCoveredGoal(goal1); List<TestCase> tests = new ArrayList<>(); tests.add(test); CoverageGoalTestNameGenerationStrategy naming = new CoverageGoalTestNameGenerationStrategy(tests); assertEquals("testFooReturningNonEmptyString", naming.getName(test)); }
@Test public void testInspectorOutputGoal() { TestCase test = new DefaultTestCase(); OutputCoverageGoal outputGoal1 = new OutputCoverageGoal("FooClass", "foo", stringType(), REF_NONNULL + ":" + "Bar" + ":" + "isFoo" + ":" + NUM_NEGATIVE); OutputCoverageTestFitness goal1 = new OutputCoverageTestFitness(outputGoal1); test.addCoveredGoal(goal1); List<TestCase> tests = new ArrayList<>(); tests.add(test); CoverageGoalTestNameGenerationStrategy naming = new CoverageGoalTestNameGenerationStrategy(tests); assertEquals("testFooReturningBarWhereIsFooIsNegative", naming.getName(test)); }
@Test public void compareBetterRank() { TestChromosome tch1 = new TestChromosome(); tch1.setTestCase(new DefaultTestCase()); tch1.setRank(0); TestChromosome tch2 = new TestChromosome(); tch2.setTestCase(new DefaultTestCase()); tch2.setRank(1); RankAndCrowdingDistanceComparator comparator = new RankAndCrowdingDistanceComparator(); double result = comparator.compare(tch1, tch2); assertEquals(-1, result, 0.00001); }
@Test public void compareBetterRank_maximization() { TestChromosome tch1 = new TestChromosome(); tch1.setTestCase(new DefaultTestCase()); tch1.setRank(0); TestChromosome tch2 = new TestChromosome(); tch2.setTestCase(new DefaultTestCase()); tch2.setRank(1); RankAndCrowdingDistanceComparator comparator = new RankAndCrowdingDistanceComparator(true); double result = comparator.compare(tch1, tch2); assertEquals(+1, result, 0.00001); }
@Test public void compareHigherRank_maximization() { TestChromosome tch1 = new TestChromosome(); tch1.setTestCase(new DefaultTestCase()); tch1.setRank(1); TestChromosome tch2 = new TestChromosome(); tch2.setTestCase(new DefaultTestCase()); tch2.setRank(0); RankAndCrowdingDistanceComparator comparator = new RankAndCrowdingDistanceComparator(true); double result = comparator.compare(tch1, tch2); assertEquals(-1, result, 0.00001); }
@Test public void testSelfSimilarity() { TestCase test = new DefaultTestCase(); PrimitiveStatement<?> aInt = new IntPrimitiveStatement(test, 42); test.addStatement(aInt); double score = DiversityObserver.getNeedlemanWunschScore(test, test); Assert.assertTrue(score > 0); }
@Test public void testPackageLevel_differentPackage_instrumentation_public() throws Exception{ TestCase tc = new DefaultTestCase(); RuntimeInstrumentation.setAvoidInstrumentingShadedClasses(true); ClassPathHandler.getInstance().changeTargetCPtoTheSameAsEvoSuite(); InstrumentingClassLoader loader = new InstrumentingClassLoader(); Class<?> example = loader.loadClass("com.examples.with.different.packagename.fm.ExamplePublicLevel"); VariableReference ref = new VariableReferenceImpl(tc, example); FunctionalMockStatement mockStmt = new FunctionalMockStatement(tc, ref, new GenericClass(example)); tc.addStatement(mockStmt); execute(tc); }