use of eu.stamp_project.dspot.common.collector.NullCollector in project dspot by STAMP-project.
the class DSpotUtilsTest method testPrintAmplifiedTestClass.
@Test
public void testPrintAmplifiedTestClass() throws Exception {
final File javaFile = new File(outputDirectory.getAbsolutePath() + "/" + "example.TestSuiteExample".replaceAll("\\.", "\\/") + ".java");
try {
FileUtils.forceDelete(javaFile);
} catch (IOException ignored) {
// ignored
}
Launcher launcher = new Launcher();
launcher.addInputResource("src/test/resources/test-projects/src/test/java/example/TestSuiteExample.java");
launcher.getEnvironment().setNoClasspath(true);
launcher.buildModel();
final CtType<?> type = launcher.getFactory().Type().get("example.TestSuiteExample");
assertFalse(javaFile.exists());
DSpotUtils.printAndCompileToCheck(type, outputDirectory, new NullCollector());
assertTrue(javaFile.exists());
final CtMethod<?> clone = type.getMethods().stream().findFirst().get().clone();
final int nbMethodStart = type.getMethods().size();
type.getMethods().forEach(type::removeMethod);
clone.setSimpleName("MyNewMethod");
type.addMethod(clone);
DSpotUtils.printAndCompileToCheck(type, outputDirectory, new NullCollector());
launcher = new Launcher();
launcher.addInputResource(outputDirectory.getAbsolutePath() + "/" + "example.TestSuiteExample".replaceAll("\\.", "\\/") + ".java");
launcher.getEnvironment().setNoClasspath(true);
launcher.buildModel();
assertEquals(nbMethodStart + 1, launcher.getFactory().Class().get("example.TestSuiteExample").getMethods().size());
type.getMethods().forEach(type::removeMethod);
clone.setSimpleName("MyNewMethod2");
type.addMethod(clone);
DSpotUtils.printAndCompileToCheck(type, outputDirectory, new NullCollector());
launcher = new Launcher();
launcher.addInputResource(outputDirectory.getAbsolutePath() + "/" + "example.TestSuiteExample".replaceAll("\\.", "\\/") + ".java");
launcher.getEnvironment().setNoClasspath(true);
launcher.buildModel();
assertEquals(nbMethodStart + 2, launcher.getFactory().Class().get("example.TestSuiteExample").getMethods().size());
}
use of eu.stamp_project.dspot.common.collector.NullCollector in project dspot by STAMP-project.
the class AbstractSelectorRemoveOverlapTest method testRemoveOverlappingTests.
@Test
public void testRemoveOverlappingTests() {
this.testSelectorUnderTest.init();
DSpotState dspotState = new DSpotState();
dspotState.setDelta(0.1f);
dspotState.setTestFinder(new TestFinder(Collections.emptyList(), Collections.emptyList()));
dspotState.setCompiler(compiler);
dspotState.setTestSelector(this.testSelectorUnderTest);
dspotState.setInputAmplDistributor(InputAmplDistributorEnum.RandomInputAmplDistributor.getInputAmplDistributor(200, Collections.singletonList(new StringLiteralAmplifier())));
dspotState.setOutput(new Output(getPathToAbsoluteProjectRoot(), configuration.getOutputDirectory(), new NullCollector()));
dspotState.setNbIteration(1);
dspotState.setAutomaticBuilder(builder);
dspotState.setTestCompiler(testCompiler);
dspotState.setTestClassesToBeAmplified(Collections.singletonList(getTestClass()));
dspotState.setAssertionGenerator(new AssertionGenerator(0.1f, compiler, testCompiler));
DSpot dspot = new DSpot(dspotState);
dspot.run();
final File directory = new File(DSpotUtils.shouldAddSeparator.apply(this.configuration.getOutputDirectory()));
if (!directory.exists()) {
directory.mkdir();
}
assertEquals(getContentReportFile(), this.testSelectorUnderTest.report().output(this.getTestClass(), this.outputDirectory));
}
Aggregations