diff options
Diffstat (limited to 'src/test/java/ch/fhnw/thga')
4 files changed, 42 insertions, 5 deletions
diff --git a/src/test/java/ch/fhnw/thga/gradleplugins/Builder.java b/src/test/java/ch/fhnw/thga/gradleplugins/Builder.java index cebaaf3..c8aeda7 100644 --- a/src/test/java/ch/fhnw/thga/gradleplugins/Builder.java +++ b/src/test/java/ch/fhnw/thga/gradleplugins/Builder.java @@ -11,5 +11,7 @@ public interface Builder { Builder outputDir(String outputDir); + Builder mainModule(String mainModule); + FregeDTO build(); } diff --git a/src/test/java/ch/fhnw/thga/gradleplugins/FregeDTO.java b/src/test/java/ch/fhnw/thga/gradleplugins/FregeDTO.java index 63d7dae..271d07b 100644 --- a/src/test/java/ch/fhnw/thga/gradleplugins/FregeDTO.java +++ b/src/test/java/ch/fhnw/thga/gradleplugins/FregeDTO.java @@ -12,14 +12,16 @@ public class FregeDTO { public final String compilerDownloadDir; public final String mainSourceDir; public final String outputDir; + public final String mainModule; public FregeDTO(String version, String release, String compilerDownloadDir, String mainSourceDir, - String outputDir) { + String outputDir, String mainModule) { this.version = version; this.release = release; this.compilerDownloadDir = compilerDownloadDir; this.mainSourceDir = mainSourceDir; this.outputDir = outputDir; + this.mainModule = mainModule; } public String getVersion() { @@ -42,6 +44,10 @@ public class FregeDTO { return outputDir; } + public String getMainModule() { + return mainModule; + } + private String getFieldValue(Field field) { try { return field.get(this).toString(); diff --git a/src/test/java/ch/fhnw/thga/gradleplugins/FregeDTOBuilder.java b/src/test/java/ch/fhnw/thga/gradleplugins/FregeDTOBuilder.java index afdc862..f4cabbe 100644 --- a/src/test/java/ch/fhnw/thga/gradleplugins/FregeDTOBuilder.java +++ b/src/test/java/ch/fhnw/thga/gradleplugins/FregeDTOBuilder.java @@ -1,11 +1,29 @@ package ch.fhnw.thga.gradleplugins; -public class FregeDTOBuilder implements Builder { +public final class FregeDTOBuilder implements Builder { private String version = ""; private String release = ""; private String compilerDownloadDir = ""; private String mainSourceDir = ""; private String outputDir = ""; + private String mainModule = ""; + + private static volatile FregeDTOBuilder instance; + + private FregeDTOBuilder() { + } + + public static FregeDTOBuilder getInstance() { + FregeDTOBuilder result = instance; + if (result != null) { + return result; + } else { + synchronized (FregeDTOBuilder.class) { + return (instance == null) ? new FregeDTOBuilder() : instance; + } + } + } + @Override public Builder version(String version) { @@ -41,8 +59,13 @@ public class FregeDTOBuilder implements Builder { return this; } - public FregeDTO build() { - return new FregeDTO(version, release, compilerDownloadDir, mainSourceDir, outputDir); + @Override + public Builder mainModule(String mainModule) { + this.mainModule = mainModule; + return this; } + public FregeDTO build() { + return new FregeDTO(version, release, compilerDownloadDir, mainSourceDir, outputDir, mainModule); + } } diff --git a/src/test/java/ch/fhnw/thga/gradleplugins/GradleBuildFileConversionTest.java b/src/test/java/ch/fhnw/thga/gradleplugins/GradleBuildFileConversionTest.java index 80c8827..8512113 100644 --- a/src/test/java/ch/fhnw/thga/gradleplugins/GradleBuildFileConversionTest.java +++ b/src/test/java/ch/fhnw/thga/gradleplugins/GradleBuildFileConversionTest.java @@ -6,6 +6,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.stream.Stream; import java.util.stream.Collectors; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayNameGenerator; import org.junit.jupiter.api.IndicativeSentencesGeneration; import org.junit.jupiter.api.Nested; @@ -15,7 +16,7 @@ import org.junit.jupiter.api.TestInstance.Lifecycle; @TestInstance(Lifecycle.PER_CLASS) public class GradleBuildFileConversionTest { - private final FregeDTOBuilder fregeBuilder = new FregeDTOBuilder(); + private static FregeDTOBuilder fregeBuilder; private static String buildFilePluginString(String pluginId) { return String.format("id '%s'", pluginId); @@ -30,6 +31,11 @@ public class GradleBuildFileConversionTest { assertTrue(subStrings.allMatch(substring -> s.contains(substring))); } + @BeforeEach + void setup() { + fregeBuilder = FregeDTOBuilder.getInstance(); + } + @Nested @IndicativeSentencesGeneration(separator = " -> ", generator = DisplayNameGenerator.ReplaceUnderscores.class) class Converting_Frege_DTO_to_build_file_key_value_pairs_works { |