Added missing parameters and associated tests

This commit is contained in:
Erik C. Thauvin 2024-05-26 17:08:32 -07:00
parent 87a55200b3
commit e19b8de803
Signed by: erik
GPG key ID: 776702A6A2DA330E
3 changed files with 359 additions and 22 deletions

View file

@ -57,6 +57,121 @@ class PitestOperationTest {
assertThat(op.options.get("--avoidCallsTo")).as(AS_LIST).isEqualTo(FOOBAR);
}
@Test
void checkAll() {
var params = List.of(
"--argLine",
"--avoidCallsTo",
"--classPath",
"--classPathFile",
"--coverageThreshold",
"--detectInlinedCode",
"--excludedClasses",
"--excludedGroups",
"--excludedMethods",
"--excludedRunners",
"--excludedTestClasses",
"--exportLineCoverage",
"--failWhenNoMutations",
"--features",
"--fullMutationMatrix",
"--historyInputLocation",
"--historyOutputLocation",
"--includeLaunchClasspath",
"--includedGroups",
"--includedTestMethods",
"--inputEncoding",
"--jvmArgs",
"--jvmPath",
"--maxSurviving",
"--mutableCodePaths",
"--mutationEngine",
"--mutationThreshold",
"--mutationUnitSize",
"--mutators",
"--outputEncoding",
"--outputFormats",
"--pluginConfiguration",
"--projectBase",
"--reportDir",
"--skipFailingTests",
"--sourceDirs",
"--targetClasses",
"--targetTests",
"--testStrengthThreshold",
"--threads",
"--timeoutConst",
"--timeoutFactor",
"--timestampedReports",
"--useClasspathJar",
"--verbose",
"--verbosity"
);
var args = new PitestOperation()
.fromProject(new BaseProject())
.argLine(FOO)
.avoidCallsTo(FOO, BAR)
.classPath(FOO, BAR)
.classPathFile(FOO)
.coverageThreshold(0)
.detectInlinedCode(false)
.excludedClasses("class")
.excludedClasses(List.of(FOO, BAR))
.excludedGroups("group")
.excludedGroups(List.of(FOO, BAR))
.excludedMethods("method")
.excludedMethods(List.of(FOO, BAR))
.excludedTestClasses("test")
.excludedRunners("runners")
.exportLineCoverage(true)
.failWhenNoMutations(true)
.features("feature")
.fullMutationMatrix(true)
.historyInputLocation("inputLocation")
.historyOutputLocation("outputLocation")
.includeLaunchClasspath(true)
.includedGroups("group")
.includedTestMethods("method")
.inputEncoding("encoding")
.jvmArgs("-XX:+UnlogregckDiagnosticVMOptions")
.jvmPath("path")
.maxSurviving(1)
.mutableCodePaths("codePaths")
.mutationEngine("engine")
.mutationThreshold(0)
.mutationUnitSize(1)
.mutators(List.of(FOO, BAR))
.outputEncoding("encoding")
.outputFormats("json")
.pluginConfiguration("key", "value")
.projectBase("base")
.reportDir("dir")
.skipFailingTests(true)
.targetClasses("class")
.targetTests("test")
.testStrengthThreshold(0)
.threads(0)
.timeoutConst(0)
.timeoutFactor(0)
.timestampedReports(true)
.useClasspathJar(true)
.verbose(true)
.verbosity("default")
.executeConstructProcessCommandList();
for (var p : params) {
var found = false;
for (var a : args) {
if (a.startsWith(p)) {
found = true;
break;
}
}
assertThat(found).as(p + " not found.").isTrue();
}
}
@Test
void classPath() {
var op = new PitestOperation()
@ -143,17 +258,25 @@ class PitestOperationTest {
assertThat(op.options.get("--excludedMethods")).as(AS_LIST).isEqualTo(FOOBAR);
}
@Test
void excludedRunners() {
var op = new PitestOperation()
.fromProject(new BaseProject())
.excludedRunners(FOO);
assertThat(op.options.get("--excludedRunners")).isEqualTo(FOO);
}
@Test
void excludedTests() {
var op = new PitestOperation()
.fromProject(new BaseProject())
.excludedTests(FOO, BAR);
assertThat(op.options.get("--excludedTests")).isEqualTo(FOOBAR);
.excludedTestClasses(FOO, BAR);
assertThat(op.options.get("--excludedTestClasses")).isEqualTo(FOOBAR);
op = new PitestOperation()
.fromProject(new Project())
.excludedTests(List.of(FOO, BAR));
assertThat(op.options.get("--excludedTests")).as("as list").isEqualTo(FOOBAR);
.excludedTestClasses(List.of(FOO, BAR));
assertThat(op.options.get("--excludedTestClasses")).as("as list").isEqualTo(FOOBAR);
}
@Test
@ -246,6 +369,14 @@ class PitestOperationTest {
assertThat(op.options.get("--features")).as(AS_LIST).isEqualTo(FOOBAR);
}
@Test
void fullMutationMatrix() {
var op = new PitestOperation()
.fromProject(new BaseProject())
.fullMutationMatrix(true);
assertThat(op.options.get("--fullMutationMatrix")).isEqualTo(TRUE);
}
@Test
void historyInputLocation() {
var op = new PitestOperation()
@ -288,6 +419,22 @@ class PitestOperationTest {
assertThat(op.options.get("--includedGroups")).as(AS_LIST).isEqualTo(FOOBAR);
}
@Test
void includedTestMethods() {
var op = new PitestOperation()
.fromProject(new Project())
.includedTestMethods(FOO);
assertThat(op.options.get("--includedTestMethods")).isEqualTo(FOO);
}
@Test
void inputEncoding() {
var op = new PitestOperation()
.fromProject(new BaseProject())
.inputEncoding(FOO);
assertThat(op.options.get("--inputEncoding")).isEqualTo(FOO);
}
@Test
void jvmArgs() {
var op = new PitestOperation()
@ -309,6 +456,14 @@ class PitestOperationTest {
assertThat(op.options.get("--jvmPath")).isEqualTo(FOO);
}
@Test
void maxSurviving() {
var op = new PitestOperation()
.fromProject(new Project())
.maxSurviving(1);
assertThat(op.options.get("--maxSurviving")).isEqualTo("1");
}
@Test
void mutableCodePaths() {
var op = new PitestOperation()
@ -322,6 +477,14 @@ class PitestOperationTest {
assertThat(op.options.get("--mutableCodePaths")).as(AS_LIST).isEqualTo(FOOBAR);
}
@Test
void mutationEngine() {
var op = new PitestOperation()
.fromProject(new Project())
.mutationEngine(FOO);
assertThat(op.options.get("--mutationEngine")).isEqualTo(FOO);
}
@Test
void mutationThreshold() {
var op = new PitestOperation()
@ -335,6 +498,14 @@ class PitestOperationTest {
assertThat(op.options.get("--mutationThreshold")).isNull();
}
@Test
void mutationUnitSize() {
var op = new PitestOperation()
.fromProject(new Project())
.mutationUnitSize(2);
assertThat(op.options.get("--mutationUnitSize")).isEqualTo("2");
}
@Test
void mutators() {
var op = new PitestOperation()
@ -369,6 +540,22 @@ class PitestOperationTest {
assertThat(op.options.get("--outputFormats")).as(AS_LIST).isEqualTo(FOOBAR);
}
@Test
void pluginConfiguration() {
var op = new PitestOperation()
.fromProject(new Project())
.pluginConfiguration(FOO, BAR);
assertThat(op.options.get("--pluginConfiguration")).isEqualTo(FOO + "=" + BAR);
}
@Test
void projectBase() {
var op = new PitestOperation()
.fromProject(new Project())
.projectBase(FOO);
assertThat(op.options.get("--projectBase")).isEqualTo(FOO);
}
@Test
void reportDir() {
var op = new PitestOperation()
@ -429,6 +616,14 @@ class PitestOperationTest {
assertThat(op.options.get("--targetTests")).as(AS_LIST).isEqualTo(FOOBAR);
}
@Test
void testStrengthThreshold() {
var op = new PitestOperation()
.fromProject(new Project())
.testStrengthThreshold(6);
assertThat(op.options.get("--testStrengthThreshold")).isEqualTo("6");
}
@Test
void threads() {
var op = new PitestOperation()
@ -491,4 +686,12 @@ class PitestOperationTest {
.verbose(false);
assertThat(op.options.get("--verbose")).isEqualTo(FALSE);
}
@Test
void verbosity() {
var op = new PitestOperation()
.fromProject(new Project())
.verbosity(FOO);
assertThat(op.options.get("--verbosity")).isEqualTo(FOO);
}
}