From 42bdca9c70e54d095e9ebfd69e82d1bca15bf9ac Mon Sep 17 00:00:00 2001 From: Thibault Gagnaux Date: Tue, 9 Nov 2021 22:26:45 +0100 Subject: feat: adds two tests and makes them pass for new `runFregeTask` --- src/test/java/ch/fhnw/thga/gradleplugins/Builder.java | 2 ++ src/test/java/ch/fhnw/thga/gradleplugins/FregeDTO.java | 8 +++++++- src/test/java/ch/fhnw/thga/gradleplugins/FregeDTOBuilder.java | 10 ++++++++-- 3 files changed, 17 insertions(+), 3 deletions(-) (limited to 'src/test/java') 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..5c24f10 100644 --- a/src/test/java/ch/fhnw/thga/gradleplugins/FregeDTOBuilder.java +++ b/src/test/java/ch/fhnw/thga/gradleplugins/FregeDTOBuilder.java @@ -6,6 +6,7 @@ public class FregeDTOBuilder implements Builder { private String compilerDownloadDir = ""; private String mainSourceDir = ""; private String outputDir = ""; + private String mainModule = ""; @Override public Builder version(String version) { @@ -41,8 +42,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); + } } -- cgit From 06d18924294dfe78eaba8eafe3a5ec559c43aecb Mon Sep 17 00:00:00 2001 From: Thibault Gagnaux Date: Wed, 10 Nov 2021 00:37:04 +0100 Subject: refactor: tests and makes `FregeDTOBuilder` a singleton --- .../ch/fhnw/thga/gradleplugins/FregeDTOBuilder.java | 19 ++++++++++++++++++- .../gradleplugins/GradleBuildFileConversionTest.java | 8 +++++++- 2 files changed, 25 insertions(+), 2 deletions(-) (limited to 'src/test/java') diff --git a/src/test/java/ch/fhnw/thga/gradleplugins/FregeDTOBuilder.java b/src/test/java/ch/fhnw/thga/gradleplugins/FregeDTOBuilder.java index 5c24f10..f4cabbe 100644 --- a/src/test/java/ch/fhnw/thga/gradleplugins/FregeDTOBuilder.java +++ b/src/test/java/ch/fhnw/thga/gradleplugins/FregeDTOBuilder.java @@ -1,6 +1,6 @@ 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 = ""; @@ -8,6 +8,23 @@ public class FregeDTOBuilder implements Builder { 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) { this.version = version; 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 { -- cgit