- * If a list is not explicitly supplied then PIT will default to a list of common logging packages as follows - *
- *
- * If the feature {@code FLOGCALL} is disabled, this parameter is ignored and logging calls are also mutated.
- * Additional classpath entries to use when looking for tests and mutable code.
- *
- * @param path one or more paths
- * @return this operation instance
- * @see #classPathPaths(Collection)
- */
- public PitestOperation classPath(Path... path) {
- return classPathPaths(List.of(path));
+ options_.put("--classPath", String.join(",", Arrays.stream(path).filter(this::isNotBlank).toList()));
+ return this;
}
/**
@@ -170,30 +145,6 @@ public class PitestOperation extends AbstractProcessOperation
- * If a list is not explicitly supplied then PIT will default to a list of common logging packages as follows
- *
- *
- * If the feature {@code FLOGCALL} is disabled, this parameter is ignored and logging calls are also mutated.
- * Additional classpath entries to use when looking for tests and mutable code.
- *
- * @param path one or more paths
- * @return this operation instance
- * @see #classPathFiles(Collection)
- */
- public PitestOperation classPath(File... path) {
- return classPathFiles(List.of(path));
- }
-
/**
* File with a list of additional classpath elements (one per line).
*
@@ -207,28 +158,6 @@ public class PitestOperation extends AbstractProcessOperation
- * If no mutableCodePath is supplied PIT will default to considering anything not defined within a jar or zip file
- * as being a candidate for mutation.
- *
- * PIT will always attempt not to mutate test classes even if they are defined on a mutable path.
- *
- * @param path one or one paths
- * @return this operation instance
- * @see #mutableCodePathsPaths(Collection)
- */
- public PitestOperation mutableCodePaths(Path... path) {
- return mutableCodePathsPaths(List.of(path));
- }
-
- /**
- * List of classpaths which should be considered to contain mutable code. If your build maintains separate output
- * directories for tests and production classes this parameter should be set to your code output directory in order
- * to avoid mutating test helper classes etc.
- *
- * If no mutableCodePath is supplied PIT will default to considering anything not defined within a jar or zip file
- * as being a candidate for mutation.
- *
- * PIT will always attempt not to mutate test classes even if they are defined on a mutable path.
- *
- * @param path one or one paths
- * @return this operation instance
- * @see #mutableCodePathsFiles(Collection)
- */
- public PitestOperation mutableCodePaths(File... path) {
- return mutableCodePathsFiles(List.of(path));
+ options_.put("--mutableCodePaths", String.join(",", Arrays.stream(path).filter(this::isNotBlank).toList()));
+ return this;
}
/**
@@ -833,42 +663,6 @@ public class PitestOperation extends AbstractProcessOperation
- * If no mutableCodePath is supplied PIT will default to considering anything not defined within a jar or zip file
- * as being a candidate for mutation.
- *
- * PIT will always attempt not to mutate test classes even if they are defined on a mutable path.
- *
- * @param paths the list of paths
- * @return this operation instance
- * @see #mutableCodePaths(File...)
- */
- public PitestOperation mutableCodePathsFiles(Collection
- * If no mutableCodePath is supplied PIT will default to considering anything not defined within a jar or zip file
- * as being a candidate for mutation.
- *
- * PIT will always attempt not to mutate test classes even if they are defined on a mutable path.
- *
- * @param paths the list of paths
- * @return this operation instance
- * @see #mutableCodePaths(Path...)
- */
- public PitestOperation mutableCodePathsPaths(Collection
@@ -958,34 +752,6 @@ public class PitestOperation extends AbstractProcessOperation
- * Defaults to {@code HTML}.
- *
- * @param outputFormat one or more output formats
- * @return this operation instance
- * @see #outputFormatsFiles(Collection)
- */
- public PitestOperation outputFormats(File... outputFormat) {
- return outputFormatsFiles(List.of(outputFormat));
- }
-
- /**
- * A list of formats in which to write mutation results as the mutations are analysed.
- * Supported formats are {@code HTML}, {@code XML}, {@code CSV}.
- *
- * Defaults to {@code HTML}.
- *
- * @param outputFormat one or more output formats
- * @return this operation instance
- * @see #outputFormatsPaths(Collection)
- */
- public PitestOperation outputFormats(Path... outputFormat) {
- return outputFormatsPaths(List.of(outputFormat));
- }
-
/**
* A list of formats in which to write mutation results as the mutations are analysed.
* Supported formats are {@code HTML}, {@code XML}, {@code CSV}.
@@ -997,7 +763,9 @@ public class PitestOperation extends AbstractProcessOperation
- * Defaults to {@code HTML}.
- *
- * @param outputFormats the list of output formats
- * @return this operation instance
- * @see #outputFormats(File...)
- */
- public PitestOperation outputFormatsFiles(Collection
- * Defaults to {@code HTML}.
- *
- * @param outputFormats the list of output formats
- * @return this operation instance
- * @see #outputFormats(Path...)
- */
- public PitestOperation outputFormatsPaths(Collection
@@ -1146,29 +844,8 @@ public class PitestOperation extends AbstractProcessOperation
diff --git a/src/test/java/rife/bld/extension/PitestOperationTest.java b/src/test/java/rife/bld/extension/PitestOperationTest.java
index 82f446c..0fb9902 100644
--- a/src/test/java/rife/bld/extension/PitestOperationTest.java
+++ b/src/test/java/rife/bld/extension/PitestOperationTest.java
@@ -22,7 +22,6 @@ import rife.bld.Project;
import rife.bld.WebProject;
import rife.bld.operations.exceptions.ExitStatusException;
-import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
@@ -34,7 +33,6 @@ import static org.assertj.core.api.Assertions.assertThatCode;
import static rife.bld.extension.PitestOperation.FALSE;
import static rife.bld.extension.PitestOperation.TRUE;
-@SuppressWarnings("PMD.AvoidDuplicateLiterals")
class PitestOperationTest {
private static final String AS_LIST = "as list";
private final static String BAR = "bar";
@@ -591,175 +589,6 @@ class PitestOperationTest {
assertThat(op.options().get("--targetTests")).as(AS_LIST).isEqualTo(FOOBAR);
}
- @Test
- void testClassPath() {
- var foo = new File(FOO);
- var bar = new File(BAR);
-
- var foobar = String.format("%s,%s", FOO, BAR);
- var op = new PitestOperation().classPath(FOO, BAR);
- assertThat(op.options().get("--classPath")).as("String...").isEqualTo(foobar);
-
- op = new PitestOperation().classPath(List.of(FOO, BAR));
- assertThat(op.options().get("--classPath")).as("List(String...)").isEqualTo(foobar);
-
- foobar = String.format("%s,%s", foo.getAbsolutePath(), bar.getAbsolutePath());
- op = new PitestOperation().classPath(foo, bar);
- assertThat(op.options().get("--classPath")).as("File...").isEqualTo(foobar);
-
- op = new PitestOperation().classPathFiles(List.of(foo, bar));
- assertThat(op.options().get("--classPath")).as("List(String...)").isEqualTo(foobar);
-
- op = new PitestOperation().classPath(foo.toPath(), bar.toPath());
- assertThat(op.options().get("--classPath")).as("Path...").isEqualTo(foobar);
-
- op = new PitestOperation().classPathPaths(List.of(foo.toPath(), bar.toPath()));
- assertThat(op.options().get("--classPath")).as("List(Path...)").isEqualTo(foobar);
- }
-
- @Test
- void testHistoryInputLocation() {
- var foo = new File(FOO);
- var op = new PitestOperation().historyInputLocation(FOO);
- assertThat(op.options().get("--historyInputLocation")).as("as string").isEqualTo(FOO);
-
- op = new PitestOperation().historyInputLocation(foo);
- assertThat(op.options().get("--historyInputLocation")).as("as file").isEqualTo(foo.getAbsolutePath());
-
- op = new PitestOperation().historyInputLocation(foo.toPath());
- assertThat(op.options().get("--historyInputLocation")).as("as path").isEqualTo(foo.getAbsolutePath());
- }
-
- @Test
- void testHistoryOutputLocation() {
- var foo = new File(FOO);
- var op = new PitestOperation().historyOutputLocation(FOO);
- assertThat(op.options().get("--historyOutputLocation")).as("as string").isEqualTo(FOO);
-
- op = new PitestOperation().historyOutputLocation(foo);
- assertThat(op.options().get("--historyOutputLocation")).as("as file").isEqualTo(foo.getAbsolutePath());
-
- op = new PitestOperation().historyOutputLocation(foo.toPath());
- assertThat(op.options().get("--historyOutputLocation")).as("as path").isEqualTo(foo.getAbsolutePath());
- }
-
- @Test
- void testJvmPath() {
- var foo = new File(FOO);
- var op = new PitestOperation().jvmPath(FOO);
- assertThat(op.options().get("--jvmPath")).as("as string").isEqualTo(FOO);
-
- op = new PitestOperation().jvmPath(foo);
- assertThat(op.options().get("--jvmPath")).as("as file").isEqualTo(foo.getAbsolutePath());
-
- op = new PitestOperation().jvmPath(foo.toPath());
- assertThat(op.options().get("--jvmPath")).as("as path").isEqualTo(foo.getAbsolutePath());
- }
-
- @Test
- void testMutableCodePaths() {
- var foo = new File(FOO);
- var bar = new File(BAR);
-
- var foobar = String.format("%s,%s", FOO, BAR);
- var op = new PitestOperation().mutableCodePaths(FOO, BAR);
- assertThat(op.options().get("--mutableCodePaths")).as("String...").isEqualTo(foobar);
-
- op = new PitestOperation().mutableCodePaths(List.of(FOO, BAR));
- assertThat(op.options().get("--mutableCodePaths")).as("List(String...)").isEqualTo(foobar);
-
- foobar = String.format("%s,%s", foo.getAbsolutePath(), bar.getAbsolutePath());
- op = new PitestOperation().mutableCodePaths(foo, bar);
- assertThat(op.options().get("--mutableCodePaths")).as("File...").isEqualTo(foobar);
-
- op = new PitestOperation().mutableCodePathsFiles(List.of(foo, bar));
- assertThat(op.options().get("--mutableCodePaths")).as("List(String...)").isEqualTo(foobar);
-
- op = new PitestOperation().mutableCodePaths(foo.toPath(), bar.toPath());
- assertThat(op.options().get("--mutableCodePaths")).as("Path...").isEqualTo(foobar);
-
- op = new PitestOperation().mutableCodePathsPaths(List.of(foo.toPath(), bar.toPath()));
- assertThat(op.options().get("--mutableCodePaths")).as("List(Path...)").isEqualTo(foobar);
- }
-
- @Test
- void testOutputFormats() {
- var foo = new File(FOO);
- var bar = new File(BAR);
-
- var foobar = String.format("%s,%s", FOO, BAR);
- var op = new PitestOperation().outputFormats(FOO, BAR);
- assertThat(op.options().get("--outputFormats")).as("String...").isEqualTo(foobar);
-
- op = new PitestOperation().outputFormats(List.of(FOO, BAR));
- assertThat(op.options().get("--outputFormats")).as("List(String...)").isEqualTo(foobar);
-
- foobar = String.format("%s,%s", foo.getAbsolutePath(), bar.getAbsolutePath());
- op = new PitestOperation().outputFormats(foo, bar);
- assertThat(op.options().get("--outputFormats")).as("File...").isEqualTo(foobar);
-
- op = new PitestOperation().outputFormatsFiles(List.of(foo, bar));
- assertThat(op.options().get("--outputFormats")).as("List(String...)").isEqualTo(foobar);
-
- op = new PitestOperation().outputFormats(foo.toPath(), bar.toPath());
- assertThat(op.options().get("--outputFormats")).as("Path...").isEqualTo(foobar);
-
- op = new PitestOperation().outputFormatsPaths(List.of(foo.toPath(), bar.toPath()));
- assertThat(op.options().get("--outputFormats")).as("List(Path...)").isEqualTo(foobar);
- }
-
- @Test
- void testProjectBase() {
- var foo = new File(FOO);
- var op = new PitestOperation().projectBase(FOO);
- assertThat(op.options().get("--projectBase")).as("as string").isEqualTo(FOO);
-
- op = new PitestOperation().projectBase(foo);
- assertThat(op.options().get("--projectBase")).as("as file").isEqualTo(foo.getAbsolutePath());
-
- op = new PitestOperation().projectBase(foo.toPath());
- assertThat(op.options().get("--projectBase")).as("as path").isEqualTo(foo.getAbsolutePath());
- }
-
- @Test
- void testReportDir() {
- var foo = new File(FOO);
- var op = new PitestOperation().reportDir(FOO);
- assertThat(op.options().get("--reportDir")).as("as string").isEqualTo(FOO);
-
- op = new PitestOperation().reportDir(foo);
- assertThat(op.options().get("--reportDir")).as("as file").isEqualTo(foo.getAbsolutePath());
-
- op = new PitestOperation().reportDir(foo.toPath());
- assertThat(op.options().get("--reportDir")).as("as path").isEqualTo(foo.getAbsolutePath());
- }
-
- @Test
- void testSourceDirs() {
- var foo = new File(FOO);
- var bar = new File(BAR);
-
- var foobar = String.format("%s,%s", FOO, BAR);
- var op = new PitestOperation().sourceDirs(FOO, BAR);
- assertThat(op.options().get("--sourceDirs")).as("String...").isEqualTo(foobar);
-
- op = new PitestOperation().sourceDirs(List.of(FOO, BAR));
- assertThat(op.options().get("--sourceDirs")).as("List(String...)").isEqualTo(foobar);
-
- foobar = String.format("%s,%s", foo.getAbsolutePath(), bar.getAbsolutePath());
- op = new PitestOperation().sourceDirs(foo, bar);
- assertThat(op.options().get("--sourceDirs")).as("File...").isEqualTo(foobar);
-
- op = new PitestOperation().sourceDirsFiles(List.of(foo, bar));
- assertThat(op.options().get("--sourceDirs")).as("List(String...)").isEqualTo(foobar);
-
- op = new PitestOperation().sourceDirs(foo.toPath(), bar.toPath());
- assertThat(op.options().get("--sourceDirs")).as("Path...").isEqualTo(foobar);
-
- op = new PitestOperation().sourceDirsPaths(List.of(foo.toPath(), bar.toPath()));
- assertThat(op.options().get("--sourceDirs")).as("List(Path...)").isEqualTo(foobar);
- }
-
@Test
void testStrengthThreshold() {
var op = new PitestOperation()
- *
- *