public static Predicate<CloneGroup> numberOfUnitsNotLessThan(int min) { return input -> input != null && input.getLengthInUnits() >= min; } }
@Override public boolean apply(@Nonnull CloneGroup input) { return input.getLengthInUnits() >= min; } }
@Test public void testDuplicationInSingleFile() throws IOException { File file = new File("test-resources/org/sonar/duplications/cpd/CPDTest/CPDFile3.java"); addToIndex(file); List<CloneGroup> duplications = detect(file); assertThat(duplications.size()).isEqualTo(1); CloneGroup duplication = duplications.get(0); assertThat(duplication.getOriginPart().getResourceId()).isEqualTo(file.getAbsolutePath()); assertThat(duplication.getCloneParts().size()).isEqualTo(2); assertThat(duplication.getLengthInUnits()).as("length in tokens").isEqualTo(157); ClonePart part = duplication.getCloneParts().get(0); assertThat(part.getResourceId()).isEqualTo(file.getAbsolutePath()); assertThat(part.getStartLine()).isEqualTo(30); assertThat(part.getEndLine()).isEqualTo(44); }
@Test public void testDuplicationBetweenTwoFiles() throws IOException { File file1 = new File("test-resources/org/sonar/duplications/cpd/CPDTest/CPDFile1.java"); File file2 = new File("test-resources/org/sonar/duplications/cpd/CPDTest/CPDFile2.java"); addToIndex(file1); addToIndex(file2); List<CloneGroup> duplications = detect(file1); assertThat(duplications.size()).isEqualTo(1); CloneGroup duplication = duplications.get(0); assertThat(duplication.getOriginPart().getResourceId()).isEqualTo(file1.getAbsolutePath()); ClonePart part1 = new ClonePart(file1.getAbsolutePath(), 1, 18, 41); ClonePart part2 = new ClonePart(file2.getAbsolutePath(), 1, 18, 41); assertThat(duplication.getCloneParts()).containsOnly(part1, part2); assertThat(duplication.getLengthInUnits()).as("length in tokens").isEqualTo(115); }
public static Predicate<CloneGroup> numberOfUnitsNotLessThan(int min) { return input -> input != null && input.getLengthInUnits() >= min; } }
@Override public boolean apply(@Nullable CloneGroup input) { return input != null && input.getLengthInUnits() >= min; } }
@Override public boolean apply(@Nonnull CloneGroup input) { return input.getLengthInUnits() >= min; } }
@Override public boolean apply(@Nullable CloneGroup input) { return input != null && input.getLengthInUnits() >= min; } }