diff --git a/ttool/src/test/java/test/AbstractTest.java b/ttool/src/test/java/test/AbstractTest.java index 9d650f92d8efd3340e7c32cb18aa35259673cf1d..2d5591feb39402e62702222813aff54457c4a8b3 100644 --- a/ttool/src/test/java/test/AbstractTest.java +++ b/ttool/src/test/java/test/AbstractTest.java @@ -2,9 +2,7 @@ package test; import static org.junit.Assert.fail; -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; +import java.io.*; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; diff --git a/ttool/src/test/java/ui/AbstractUITest.java b/ttool/src/test/java/ui/AbstractUITest.java index a18e2dcf87ba97f23f0154a072a6993b7cb9d768..747dcda156c4762d23b80a140325d15b2d0c11b1 100644 --- a/ttool/src/test/java/ui/AbstractUITest.java +++ b/ttool/src/test/java/ui/AbstractUITest.java @@ -1,6 +1,9 @@ package ui; +import java.io.BufferedReader; import java.io.File; +import java.io.FileReader; +import java.io.IOException; import java.util.Arrays; import java.util.Collection; diff --git a/ttool/src/test/java/ui/compareTMLTest/CompareTML.java b/ttool/src/test/java/ui/compareTMLTest/CompareTML.java new file mode 100644 index 0000000000000000000000000000000000000000..fc7dabfa613c64c5935e89b7ac912621ab560987 --- /dev/null +++ b/ttool/src/test/java/ui/compareTMLTest/CompareTML.java @@ -0,0 +1,35 @@ +package ui.compareTMLTest; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +public class CompareTML { + + public CompareTML () { + + } + //#issue 82 + public boolean compareTML(File expected, File clone) throws Exception { + + BufferedReader expectedReader = new BufferedReader(new FileReader(expected)); + BufferedReader cloneReader = new BufferedReader(new FileReader(clone)); + + String expectedString = ""; + String cloneString = ""; + String s1; + String s2; + + while ((s1 = expectedReader.readLine()) != null) { + if (!s1.contains("//") && s1.length() > 0) { + expectedString += s1; + } + } + + while ((s2 = cloneReader.readLine()) != null){ + if (!s2.contains("//") && s2.length() > 0) { + cloneString += s2; + } + } + return expectedString.equals(cloneString); + } +} diff --git a/ttool/src/test/java/ui/compareTMLTest/CompareTMLTests.java b/ttool/src/test/java/ui/compareTMLTest/CompareTMLTests.java new file mode 100644 index 0000000000000000000000000000000000000000..3e5420f2a3f76fcb678bfbfc1ca30ace23ca3a3a --- /dev/null +++ b/ttool/src/test/java/ui/compareTMLTest/CompareTMLTests.java @@ -0,0 +1,101 @@ +package ui.compareTMLTest; + +import org.junit.Before; +import org.junit.Test; + +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Paths; + +import static org.junit.Assert.*; + +public class CompareTMLTests { + + final static String PATH_TO_TEST_COMPARE_FILE = "test/java/ui/compareTMLTest/"; + + final static String COMMENT_AND_CONTEXT_1 = "// File with comment + context 1" + + "\n// Channels\n" + + "CHANNEL DIPLODOCUS_C_Design__channel BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1 IN DIPLODOCUS_C_Design__PrimitiveComp2\n" + + "CHANNEL DIPLODOCUS_C_Design__channel_0 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1_0 IN DIPLODOCUS_C_Design__PrimitiveComp2_0"; + final static String COMMENT_AND_CONTEXT_2 = "// File with comment + context 2" + + "\n// Channels\n" + + "CHANNEL DIPLODOCUS_C_Design__channel BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1 IN DIPLODOCUS_C_Design__PrimitiveComp2\n" + + "CHANNEL DIPLODOCUS_C_Design__channel_0 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1_0 IN DIPLODOCUS_C_Design__PrimitiveComp2_0"; + final static String COMMENT_AND_CONTEXT_3 = "// File with comment + context 3" + + "\n// Channels\n" + + "CHANNEL DIPLODOCUS_C_Design__channel BRBW 5 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1 IN DIPLODOCUS_C_Design__PrimitiveComp2\n" + + "CHANNEL DIPLODOCUS_C_Design__channel_0 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1_0 IN DIPLODOCUS_C_Design__PrimitiveComp2_0"; + final static String COMMENT_AND_CONTEXT_4 = "// File with comment + context 3" + + "\n// Channels\n" + + "CHANNEL DIPLODOCUS_C_Design__channel BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1 IN DIPLODOCUS_C_Design__PrimitiveComp2\n" + + "CHANNEL DIPLODOCUS_C_Design__channel_0 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1_0 IN DIPLODOCUS_C_Design__PrimitiveComp2_0"; + final static String ONLY_TITLE_1 = "// comment 1"; + final static String ONLY_TITLE_2 = "// comment 2"; + final static String EMPTY = ""; + + @Before + public void setUp () throws Exception{ + String fileData; + fileData = EMPTY; + Files.write(Paths.get(PATH_TO_TEST_COMPARE_FILE + "file1.tml"), fileData.getBytes()); + + fileData = ONLY_TITLE_1; + Files.write(Paths.get(PATH_TO_TEST_COMPARE_FILE + "file2.tml"),fileData.getBytes()); + + fileData = ONLY_TITLE_2; + Files.write(Paths.get(PATH_TO_TEST_COMPARE_FILE + "file3.tml"),fileData.getBytes()); + + fileData = COMMENT_AND_CONTEXT_1; + Files.write(Paths.get(PATH_TO_TEST_COMPARE_FILE + "file4.tml"),fileData.getBytes()); + + fileData = COMMENT_AND_CONTEXT_2; + Files.write(Paths.get(PATH_TO_TEST_COMPARE_FILE + "file5.tml"),fileData.getBytes()); + + fileData = COMMENT_AND_CONTEXT_3; + Files.write(Paths.get(PATH_TO_TEST_COMPARE_FILE + "file6.tml"),fileData.getBytes()); + + fileData = COMMENT_AND_CONTEXT_4; + Files.write(Paths.get(PATH_TO_TEST_COMPARE_FILE + "file7.tml"),fileData.getBytes()); + } + + @Test + public void onlyCommentAndEmptyTest () throws Exception { + CompareTML ctml = new CompareTML(); + assertTrue("comparing between empty file and the other including only comment",ctml.compareTML(new File(PATH_TO_TEST_COMPARE_FILE + "file1" + + ".tml"), + new File(PATH_TO_TEST_COMPARE_FILE + "file2.tml"))); + } + + @Test + public void onlyCommentAndOnlyComment () throws Exception { + CompareTML ctml = new CompareTML(); + assertTrue("comparing between 2 files including only comment",ctml.compareTML(new File(PATH_TO_TEST_COMPARE_FILE + "file2.tml"), + new File(PATH_TO_TEST_COMPARE_FILE + "file3" + + ".tml"))); + } + + @Test + public void sameContextDifferentComment () throws Exception { + CompareTML ctml = new CompareTML(); + assertTrue("comparing between 2 files including the same context but different comment",ctml.compareTML(new File(PATH_TO_TEST_COMPARE_FILE + + "file4.tml"), + new File(PATH_TO_TEST_COMPARE_FILE + "file5.tml"))); + } + + @Test + public void DifferentContextDifferentComment () throws Exception { + CompareTML ctml = new CompareTML(); + assertFalse("comparing between 2 files including the same context but different comment",ctml.compareTML(new File(PATH_TO_TEST_COMPARE_FILE + + "file5.tml"), + new File(PATH_TO_TEST_COMPARE_FILE + "file6.tml"))); + } + + @Test + public void DifferentContextSameComment () throws Exception { + CompareTML ctml = new CompareTML(); + assertFalse("comparing between 2 files including the same comment but different context", + ctml.compareTML(new File(PATH_TO_TEST_COMPARE_FILE + + "file6.tml"), + new File(PATH_TO_TEST_COMPARE_FILE + "file7.tml"))); + } +} diff --git a/ttool/src/test/java/ui/compareTMLTest/file1.tml b/ttool/src/test/java/ui/compareTMLTest/file1.tml new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ttool/src/test/java/ui/compareTMLTest/file2.tml b/ttool/src/test/java/ui/compareTMLTest/file2.tml new file mode 100644 index 0000000000000000000000000000000000000000..f8bba761c07edabf02290f3cde97274a5a8c952a --- /dev/null +++ b/ttool/src/test/java/ui/compareTMLTest/file2.tml @@ -0,0 +1 @@ +// comment 1 \ No newline at end of file diff --git a/ttool/src/test/java/ui/compareTMLTest/file3.tml b/ttool/src/test/java/ui/compareTMLTest/file3.tml new file mode 100644 index 0000000000000000000000000000000000000000..01294e4cb7f164a7bd96f902c8ab2fc473707201 --- /dev/null +++ b/ttool/src/test/java/ui/compareTMLTest/file3.tml @@ -0,0 +1 @@ +// comment 2 \ No newline at end of file diff --git a/ttool/src/test/java/ui/compareTMLTest/file4.tml b/ttool/src/test/java/ui/compareTMLTest/file4.tml new file mode 100644 index 0000000000000000000000000000000000000000..9d5f5aa294bbb08bf55e5ea0764d1cec4089622d --- /dev/null +++ b/ttool/src/test/java/ui/compareTMLTest/file4.tml @@ -0,0 +1,4 @@ +// File with comment + context 1 +// Channels +CHANNEL DIPLODOCUS_C_Design__channel BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1 IN DIPLODOCUS_C_Design__PrimitiveComp2 +CHANNEL DIPLODOCUS_C_Design__channel_0 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1_0 IN DIPLODOCUS_C_Design__PrimitiveComp2_0 \ No newline at end of file diff --git a/ttool/src/test/java/ui/compareTMLTest/file5.tml b/ttool/src/test/java/ui/compareTMLTest/file5.tml new file mode 100644 index 0000000000000000000000000000000000000000..a2b9bcce517d02d990b4fca462bb2bb3cced2218 --- /dev/null +++ b/ttool/src/test/java/ui/compareTMLTest/file5.tml @@ -0,0 +1,4 @@ +// File with comment + context 2 +// Channels +CHANNEL DIPLODOCUS_C_Design__channel BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1 IN DIPLODOCUS_C_Design__PrimitiveComp2 +CHANNEL DIPLODOCUS_C_Design__channel_0 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1_0 IN DIPLODOCUS_C_Design__PrimitiveComp2_0 \ No newline at end of file diff --git a/ttool/src/test/java/ui/compareTMLTest/file6.tml b/ttool/src/test/java/ui/compareTMLTest/file6.tml new file mode 100644 index 0000000000000000000000000000000000000000..864b0d1e23d08f190251fceeda6ddeca3215da75 --- /dev/null +++ b/ttool/src/test/java/ui/compareTMLTest/file6.tml @@ -0,0 +1,4 @@ +// File with comment + context 3 +// Channels +CHANNEL DIPLODOCUS_C_Design__channel BRBW 5 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1 IN DIPLODOCUS_C_Design__PrimitiveComp2 +CHANNEL DIPLODOCUS_C_Design__channel_0 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1_0 IN DIPLODOCUS_C_Design__PrimitiveComp2_0 \ No newline at end of file diff --git a/ttool/src/test/java/ui/compareTMLTest/file7.tml b/ttool/src/test/java/ui/compareTMLTest/file7.tml new file mode 100644 index 0000000000000000000000000000000000000000..58da6df298ffde1fea7e6095c023afd40ead0f5d --- /dev/null +++ b/ttool/src/test/java/ui/compareTMLTest/file7.tml @@ -0,0 +1,4 @@ +// File with comment + context 3 +// Channels +CHANNEL DIPLODOCUS_C_Design__channel BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1 IN DIPLODOCUS_C_Design__PrimitiveComp2 +CHANNEL DIPLODOCUS_C_Design__channel_0 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1_0 IN DIPLODOCUS_C_Design__PrimitiveComp2_0 \ No newline at end of file