diff --git a/dspot-diff-test-selection/src/test/java/eu/stamp_project/diff_test_selection/EnhancedDiffTestSelectionTestImpl.java b/dspot-diff-test-selection/src/test/java/eu/stamp_project/diff_test_selection/EnhancedDiffTestSelectionTestImpl.java index 3900a0680..d8332e236 100644 --- a/dspot-diff-test-selection/src/test/java/eu/stamp_project/diff_test_selection/EnhancedDiffTestSelectionTestImpl.java +++ b/dspot-diff-test-selection/src/test/java/eu/stamp_project/diff_test_selection/EnhancedDiffTestSelectionTestImpl.java @@ -1,6 +1,7 @@ package eu.stamp_project.diff_test_selection; import eu.stamp_project.diff_test_selection.coverage.Coverage; +import eu.stamp_project.diff_test_selection.coverage.DiffCoverage; import eu.stamp_project.diff_test_selection.diff.DiffComputer; import eu.stamp_project.diff_test_selection.selector.EnhancedDiffTestSelection; import org.junit.Test; @@ -23,24 +24,44 @@ public void testOnlyAddition() { NO TEST MODIFICATIONS */ - final Map>>> coverageV1 = new LinkedHashMap<>(); - coverageV1.put("fr.inria.stamp.only_modification.FibonacciTest", new HashMap<>()); - coverageV1.get("fr.inria.stamp.only_modification.FibonacciTest").put("test", new HashMap<>()); - coverageV1.get("fr.inria.stamp.only_modification.FibonacciTest").get("test") - .put("fr.inria.stamp.only_modification.Fibonacci", Arrays.asList(new Integer[]{12, 16, 17, 18, 19, 21, 22, 23, 25}.clone())); - coverageV1.get("fr.inria.stamp.only_modification.FibonacciTest").put("hittingTest", new HashMap<>()); - coverageV1.get("fr.inria.stamp.only_modification.FibonacciTest").get("hittingTest") - .put("fr.inria.stamp.only_modification.Fibonacci", Arrays.asList(new Integer[]{12, 13, 14}.clone())); - - final Map>>> coverageV2 = new LinkedHashMap<>(); - coverageV2.put("fr.inria.stamp.only_modification.FibonacciTest", new HashMap<>()); - coverageV2.get("fr.inria.stamp.only_modification.FibonacciTest").put("test", new HashMap<>()); - coverageV2.get("fr.inria.stamp.only_modification.FibonacciTest").get("test") - .put("fr.inria.stamp.only_modification.Fibonacci", Arrays.asList(new Integer[]{12, 15, 16, 17, 18, 20, 21, 22, 24}.clone())); - coverageV2.get("fr.inria.stamp.only_modification.FibonacciTest").put("hittingTest", new HashMap<>()); - coverageV2.get("fr.inria.stamp.only_modification.FibonacciTest").get("hittingTest") - .put("fr.inria.stamp.only_modification.Fibonacci", Arrays.asList(new Integer[]{12, 13}.clone())); - + final Coverage coverageV1 = new Coverage(); + for (int line: new Integer[]{12, 16, 17, 18, 19, 21, 22, 23, 25}) { + coverageV1.addCoverage( + "fr.inria.stamp.only_modification.FibonacciTest", + "test", + "fr.inria.stamp.only_modification.Fibonacci", + line, + 1 + ); + } + for (int line: new Integer[]{12, 13, 14}) { + coverageV1.addCoverage( + "fr.inria.stamp.only_modification.FibonacciTest", + "hittingTest", + "fr.inria.stamp.only_modification.Fibonacci", + line, + 1 + ); + } + final Coverage coverageV2 = new Coverage(); + for (int line: new Integer[]{12, 15, 16, 17, 18, 20, 21, 22, 24}) { + coverageV2.addCoverage( + "fr.inria.stamp.only_modification.FibonacciTest", + "test", + "fr.inria.stamp.only_modification.Fibonacci", + line, + 1 + ); + } + for (int line: new Integer[]{12, 13}) { + coverageV2.addCoverage( + "fr.inria.stamp.only_modification.FibonacciTest", + "hittingTest", + "fr.inria.stamp.only_modification.Fibonacci", + line, + 1 + ); + } final File p1Directory = new File("src/test/resources/only-addition-p1"); final File p1SrcDirectory = new File("src/test/resources/only-addition-p1/src/main/java"); final File p2Directory = new File("src/test/resources/only-addition-p2"); @@ -52,7 +73,7 @@ public void testOnlyAddition() { p2Directory.getAbsolutePath(), coverageV1, diff, - new Coverage(), + new DiffCoverage(), coverageV2 ); Map> selectedTests = diffTestSelection.selectTests(); @@ -71,23 +92,44 @@ public void testOnlyDeletion() { NO TEST MODIFICATIONS */ - final Map>>> coverageV1 = new LinkedHashMap<>(); - coverageV1.put("fr.inria.stamp.only_modification.FibonacciTest", new HashMap<>()); - coverageV1.get("fr.inria.stamp.only_modification.FibonacciTest").put("test", new HashMap<>()); - coverageV1.get("fr.inria.stamp.only_modification.FibonacciTest").get("test") - .put("fr.inria.stamp.only_modification.Fibonacci", Arrays.asList(new Integer[]{12, 15, 16, 17, 18, 20, 21, 22, 24}.clone())); - coverageV1.get("fr.inria.stamp.only_modification.FibonacciTest").put("hittingTest", new HashMap<>()); - coverageV1.get("fr.inria.stamp.only_modification.FibonacciTest").get("hittingTest") - .put("fr.inria.stamp.only_modification.Fibonacci", Arrays.asList(new Integer[]{12, 13}.clone())); - - final Map>>> coverageV2 = new LinkedHashMap<>(); - coverageV2.put("fr.inria.stamp.only_modification.FibonacciTest", new HashMap<>()); - coverageV2.get("fr.inria.stamp.only_modification.FibonacciTest").put("test", new HashMap<>()); - coverageV2.get("fr.inria.stamp.only_modification.FibonacciTest").get("test") - .put("fr.inria.stamp.only_modification.Fibonacci", Arrays.asList(new Integer[]{12, 16, 17, 18, 19, 21, 22, 23, 25}.clone())); - coverageV2.get("fr.inria.stamp.only_modification.FibonacciTest").put("hittingTest", new HashMap<>()); - coverageV2.get("fr.inria.stamp.only_modification.FibonacciTest").get("hittingTest") - .put("fr.inria.stamp.only_modification.Fibonacci", Arrays.asList(new Integer[]{12, 13, 14}.clone())); + final Coverage coverageV1 = new Coverage(); + for (int line: new Integer[]{12, 15, 16, 17, 18, 20, 21, 22, 24}) { + coverageV1.addCoverage( + "fr.inria.stamp.only_modification.FibonacciTest", + "test", + "fr.inria.stamp.only_modification.Fibonacci", + line, + 1 + ); + } + for (int line: new Integer[]{12, 13}) { + coverageV1.addCoverage( + "fr.inria.stamp.only_modification.FibonacciTest", + "hittingTest", + "fr.inria.stamp.only_modification.Fibonacci", + line, + 1 + ); + } + final Coverage coverageV2 = new Coverage(); + for (int line: new Integer[]{12, 16, 17, 18, 19, 21, 22, 23, 25}) { + coverageV2.addCoverage( + "fr.inria.stamp.only_modification.FibonacciTest", + "test", + "fr.inria.stamp.only_modification.Fibonacci", + line, + 1 + ); + } + for (int line: new Integer[]{12, 13, 14}) { + coverageV2.addCoverage( + "fr.inria.stamp.only_modification.FibonacciTest", + "hittingTest", + "fr.inria.stamp.only_modification.Fibonacci", + line, + 1 + ); + } final File p1Directory = new File("src/test/resources/only-deletion-p1"); final File p1SrcDirectory = new File("src/test/resources/only-deletion-p1/src/main/java"); @@ -100,7 +142,7 @@ public void testOnlyDeletion() { p2Directory.getAbsolutePath(), coverageV1, diff, - new Coverage(), + new DiffCoverage(), coverageV2 ); Map> selectedTests = diffTestSelection.selectTests(); @@ -120,27 +162,40 @@ public void testModification() { */ - final Map>>> coverageV1 = new LinkedHashMap<>(); - coverageV1.put("fr.inria.stamp.only_modification.FibonacciTest", new HashMap<>()); - coverageV1.get("fr.inria.stamp.only_modification.FibonacciTest") - .put("test", new HashMap<>()); - coverageV1.get("fr.inria.stamp.only_modification.FibonacciTest").get("test") - .put("fr.inria.stamp.only_modification.Fibonacci", Arrays.asList(new Integer[]{12, 15, 16, 17, 18, 20, 21, 22, 24}.clone())); - coverageV1.get("fr.inria.stamp.only_modification.FibonacciTest") - .put("hittingTest", new HashMap<>()); - coverageV1.get("fr.inria.stamp.only_modification.FibonacciTest").get("hittingTest") - .put("fr.inria.stamp.only_modification.Fibonacci", Arrays.asList(new Integer[]{12, 13}.clone())); - - final Map>>> coverageV2 = new LinkedHashMap<>(); - coverageV2.put("fr.inria.stamp.only_modification.FibonacciTest", new HashMap<>()); - coverageV2.get("fr.inria.stamp.only_modification.FibonacciTest") - .put("test", new HashMap<>()); - coverageV2.get("fr.inria.stamp.only_modification.FibonacciTest").get("test") - .put("fr.inria.stamp.only_modification.Fibonacci", Arrays.asList(new Integer[]{12, 15, 16, 17, 18, 20, 21, 22, 24}.clone())); - coverageV2.get("fr.inria.stamp.only_modification.FibonacciTest") - .put("hittingTest", new HashMap<>()); - coverageV2.get("fr.inria.stamp.only_modification.FibonacciTest").get("hittingTest") - .put("fr.inria.stamp.only_modification.Fibonacci", Arrays.asList(new Integer[]{12, 13}.clone())); + final Coverage coverageV1 = new Coverage(); + final Coverage coverageV2 = new Coverage(); + for (int line: new Integer[]{12, 15, 16, 17, 18, 20, 21, 22, 24}) { + coverageV1.addCoverage( + "fr.inria.stamp.only_modification.FibonacciTest", + "test", + "fr.inria.stamp.only_modification.Fibonacci", + line, + 1 + ); + coverageV2.addCoverage( + "fr.inria.stamp.only_modification.FibonacciTest", + "test", + "fr.inria.stamp.only_modification.Fibonacci", + line, + 1 + ); + } + for (int line: new Integer[]{12, 13}) { + coverageV1.addCoverage( + "fr.inria.stamp.only_modification.FibonacciTest", + "hittingTest", + "fr.inria.stamp.only_modification.Fibonacci", + line, + 1 + ); + coverageV2.addCoverage( + "fr.inria.stamp.only_modification.FibonacciTest", + "hittingTest", + "fr.inria.stamp.only_modification.Fibonacci", + line, + 1 + ); + } final File p1Directory = new File("src/test/resources/only-modification-p1"); final File p1SrcDirectory = new File("src/test/resources/only-modification-p1/src/main/java"); @@ -153,8 +208,8 @@ public void testModification() { p2Directory.getAbsolutePath(), coverageV1, diff, - new Coverage(), - Collections.emptyMap() + new DiffCoverage(), + new Coverage() ); Map> selectedTests = diffTestSelection.selectTests(); assertTrue(selectedTests.containsKey("fr.inria.stamp.only_modification.FibonacciTest")); @@ -163,9 +218,9 @@ public void testModification() { diffTestSelection = new EnhancedDiffTestSelection( p1Directory.getAbsolutePath(), p2Directory.getAbsolutePath(), - Collections.emptyMap(), - diff, new Coverage(), + diff, + new DiffCoverage(), coverageV2 ); selectedTests = diffTestSelection.selectTests(); @@ -177,7 +232,7 @@ public void testModification() { p2Directory.getAbsolutePath(), coverageV1, diff, - new Coverage(), + new DiffCoverage(), coverageV2 ); selectedTests = diffTestSelection.selectTests(); diff --git a/dspot-diff-test-selection/src/test/java/eu/stamp_project/diff_test_selection/clover/CloverExectorTest.java b/dspot-diff-test-selection/src/test/java/eu/stamp_project/diff_test_selection/clover/CloverExectorTest.java index 1e4919784..e3933fe99 100644 --- a/dspot-diff-test-selection/src/test/java/eu/stamp_project/diff_test_selection/clover/CloverExectorTest.java +++ b/dspot-diff-test-selection/src/test/java/eu/stamp_project/diff_test_selection/clover/CloverExectorTest.java @@ -3,6 +3,8 @@ import org.junit.Test; import java.io.File; +import java.util.List; +import java.util.Map; import static org.junit.Assert.assertTrue;