aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThibault Gagnaux <tgagnaux@gmail.com>2021-07-07 22:58:47 +0200
committerThibault Gagnaux <tgagnaux@gmail.com>2021-07-07 22:58:47 +0200
commit2fceaad440fffc1f6edbd8e4887469cc948edb5d (patch)
tree8ceac945432e7c38ac7655d4590bdc5e2f9ef6c3 /src
parentcd5d39b867ad5435039d1a47244252078600ca0b (diff)
downloadfrege-gradle-plugin-2fceaad440fffc1f6edbd8e4887469cc948edb5d.tar.gz
frege-gradle-plugin-2fceaad440fffc1f6edbd8e4887469cc948edb5d.tar.bz2
frege-gradle-plugin-2fceaad440fffc1f6edbd8e4887469cc948edb5d.zip
Splits tests into fast unit tests and slow functional tests
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.java67
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));
+ }
+}