Selaa lähdekoodia

Improve ComparisonReportWriterTest

Nesta Bentum 4 vuotta sitten
vanhempi
commit
a710b4bc4d

+ 25 - 1
jplag/src/test/java/de/jplag/reporting/reportobject/mapper/ComparisonReportWriterTest.java

@@ -14,7 +14,7 @@ import de.jplag.reporting.jsonfactory.ComparisonReportWriter;
 public class ComparisonReportWriterTest extends TestBase {
 public class ComparisonReportWriterTest extends TestBase {
 
 
     @Test
     @Test
-    public void test() throws ExitException {
+    public void firsLevelOfLookupMapComplete() throws ExitException {
         JPlagResult result = runJPlagWithDefaultOptions("PartialPlagiarism");
         JPlagResult result = runJPlagWithDefaultOptions("PartialPlagiarism");
         var mapper = new ComparisonReportWriter(Submission::getName);
         var mapper = new ComparisonReportWriter(Submission::getName);
 
 
@@ -23,6 +23,30 @@ public class ComparisonReportWriterTest extends TestBase {
         firstLevelOfMapContains(stringMapMap, "A", "B", "C", "D", "E");
         firstLevelOfMapContains(stringMapMap, "A", "B", "C", "D", "E");
     }
     }
 
 
+    @Test
+    public void secondLevelOfLookupMapComplete() throws ExitException {
+        JPlagResult result = runJPlagWithDefaultOptions("PartialPlagiarism");
+        var mapper = new ComparisonReportWriter(Submission::getName);
+
+        Map<String, Map<String, String>> stringMapMap = mapper.writeComparisonReports(result, "");
+
+        secondLevelOfMapContains(stringMapMap, "A", "B", "C", "D", "E");
+        secondLevelOfMapContains(stringMapMap, "B", "A", "C", "D", "E");
+        secondLevelOfMapContains(stringMapMap, "C", "B", "A", "D", "E");
+        secondLevelOfMapContains(stringMapMap, "D", "B", "C", "A", "E");
+        secondLevelOfMapContains(stringMapMap, "E", "B", "C", "D", "A");
+    }
+
+    private void secondLevelOfMapContains(Map<String, Map<String, String>> stringMapMap, String firstLevelSubmission,
+            String... secondLevelSubmissions) {
+        for (String secondLevelSubmission : secondLevelSubmissions) {
+            Assertions.assertNotNull(stringMapMap.get(firstLevelSubmission).get(secondLevelSubmission));
+            Assertions.assertFalse(stringMapMap.get(firstLevelSubmission).get(secondLevelSubmission).isEmpty());
+
+        }
+
+    }
+
     private void firstLevelOfMapContains(Map<String, Map<String, String>> stringMapMap, String... names) {
     private void firstLevelOfMapContains(Map<String, Map<String, String>> stringMapMap, String... names) {
         for (String name : names) {
         for (String name : names) {
             Assertions.assertNotNull(stringMapMap.get(name));
             Assertions.assertNotNull(stringMapMap.get(name));