diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/functionalTest/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java (renamed from src/test/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java) | 43 | ||||
-rw-r--r-- | src/test/java/ch/fhnw/thga/gradleplugins/FregeDTOTest.java | 67 |
2 files changed, 68 insertions, 42 deletions
diff --git a/src/test/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java b/src/functionalTest/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java index 81ba9ad..6800f96 100644 --- a/src/test/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java +++ b/src/functionalTest/java/ch/fhnw/thga/gradleplugins/FregePluginFunctionalTest.java @@ -1,5 +1,6 @@ package ch.fhnw.thga.gradleplugins; +import static ch.fhnw.thga.gradleplugins.FregeDTOTest.createPluginsSection; import static ch.fhnw.thga.gradleplugins.FregeExtension.DEFAULT_DOWNLOAD_DIRECTORY; import static ch.fhnw.thga.gradleplugins.FregePlugin.COMPILE_FREGE_TASK_NAME; import static ch.fhnw.thga.gradleplugins.FregePlugin.FREGE_EXTENSION_NAME; @@ -15,7 +16,6 @@ import java.io.FileWriter; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; -import java.util.stream.Collectors; import java.util.stream.Stream; import org.gradle.api.Project; @@ -56,15 +56,6 @@ public class FregePluginFunctionalTest { writeFile(destination, "\n" + content, true); } - private static String buildFilePluginString(String pluginId) { - return String.format("id '%s'", pluginId); - } - - private static String createPluginsSection(Stream<String> pluginIds) { - String plugins = pluginIds.map(pluginId -> buildFilePluginString(pluginId)).collect(Collectors.joining("\n ")); - return String.format("plugins {\n %s\n}\n", plugins); - } - private static String createFregeSection(FregeDTO fregeDTO) { return String.format("%s {\n %s\n}", FREGE_EXTENSION_NAME, fregeDTO.toBuildFile()); } @@ -88,38 +79,6 @@ public class FregePluginFunctionalTest { } @Test - void given_version_and_release_then_fregeDTO_can_be_converted_to_build_file_string() { - FregeDTO fregeDTO = fregeBuilder.version("'3.25'").release("'3.25alpha'").build(); - String expected = "version = '3.25'\n release = '3.25alpha'"; - assertEquals(expected, fregeDTO.toBuildFile()); - } - - @Test - void given_version_release_and_compiler_download_dir_then_fregeDTO_can_be_converted_to_build_file_string() { - FregeDTO fregeDTO = fregeBuilder.version("'3.25'").release("'3.25alpha'") - .compilerDownloadDir("layout.projectDirectory.dir('dist')").build(); - String expected = "version = '3.25'\n release = '3.25alpha'\n compilerDownloadDir = layout.projectDirectory.dir('dist')"; - assertEquals(expected, fregeDTO.toBuildFile()); - } - - @Test - void given_single_plugin_id_then_it_is_correctly_converted_to_build_file_string() { - String pluginId = "frege"; - Stream<String> pluginIds = Stream.of(pluginId); - String expected = "plugins {\n" + " id '" + pluginId + "'\n" + "}\n"; - assertEquals(expected, createPluginsSection(pluginIds)); - } - - @Test - void given_multiple_plugin_ids_then_they_are_correctly_converted_to_build_file_string() { - String fregeId = "frege"; - String javaId = "java"; - Stream<String> pluginIds = Stream.of(fregeId, javaId); - String expected = "plugins {\n" + " id '" + fregeId + "'\n" + " id '" + javaId + "'\n" + "}\n"; - assertEquals(expected, createPluginsSection(pluginIds)); - } - - @Test void given_setup_frege_compiler_task_when_frege_version_and_frege_release_is_specified_then_frege_compiler_is_successfully_downloaded_to_default_directory() throws Exception { FregeDTO minimalFregeDTO = fregeBuilder.version("'3.25.84'").release("'3.25alpha'").build(); diff --git a/src/test/java/ch/fhnw/thga/gradleplugins/FregeDTOTest.java b/src/test/java/ch/fhnw/thga/gradleplugins/FregeDTOTest.java new file mode 100644 index 0000000..8df6eae --- /dev/null +++ b/src/test/java/ch/fhnw/thga/gradleplugins/FregeDTOTest.java @@ -0,0 +1,67 @@ +package ch.fhnw.thga.gradleplugins; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.stream.Stream; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; + +public class FregeDTOTest { + private final FregeDTOBuilder fregeBuilder = new FregeDTOBuilder(); + + private static String buildFilePluginString(String pluginId) { + return String.format("id '%s'", pluginId); + } + + static String createPluginsSection(Stream<String> pluginIds) { + String plugins = pluginIds.map(pluginId -> buildFilePluginString(pluginId)).collect(Collectors.joining("\n ")); + return String.format("plugins {\n %s\n}\n", plugins); + } + + // TODO: Is there a better alternative? + // needed helper method because reflection does NOT return the fields in order + private void assertStringContainsSubStrings(String s, Stream<String> subStrings) { + assertTrue(subStrings.allMatch(substring -> s.contains(substring))); + } + + @Test + void given_version_then_fregeDTO_can_be_converted_to_build_file_string() { + FregeDTO fregeDTO = fregeBuilder.version("'3.25'").build(); + String expected = "version = '3.25'"; + assertEquals(expected, fregeDTO.toBuildFile()); + } + + @Test + void given_version_and_release_then_fregeDTO_can_be_converted_to_build_file_string() { + FregeDTO fregeDTO = fregeBuilder.version("'3.25'").release("'3.25alpha'").build(); + String expected = "version = '3.25'\n release = '3.25alpha'"; + assertStringContainsSubStrings(expected, fregeDTO.toBuildFile().lines()); + } + + @Test + void given_version_release_and_compiler_download_dir_then_fregeDTO_can_be_converted_to_build_file_string() { + FregeDTO fregeDTO = fregeBuilder.version("'3.25'").release("'3.25alpha'") + .compilerDownloadDir("layout.projectDirectory.dir('dist')").build(); + String expected = "version = '3.25'\n release = '3.25alpha'\n compilerDownloadDir = layout.projectDirectory.dir('dist')"; + assertStringContainsSubStrings(expected, fregeDTO.toBuildFile().lines()); + } + + @Test + void given_single_plugin_id_then_it_is_correctly_converted_to_build_file_string() { + String pluginId = "frege"; + Stream<String> pluginIds = Stream.of(pluginId); + String expected = "plugins {\n" + " id '" + pluginId + "'\n" + "}\n"; + assertEquals(expected, createPluginsSection(pluginIds)); + } + + @Test + void given_multiple_plugin_ids_then_they_are_correctly_converted_to_build_file_string() { + String fregeId = "frege"; + String javaId = "java"; + Stream<String> pluginIds = Stream.of(fregeId, javaId); + String expected = "plugins {\n" + " id '" + fregeId + "'\n" + " id '" + javaId + "'\n" + "}\n"; + assertEquals(expected, createPluginsSection(pluginIds)); + } +} |