===================================================================== Found a 30 line (116 tokens) duplication in the following files: Starting at line 234 of /home/tom/pmd/pmd-web/src/junit-addons/src/main/junitx/framework/ArrayAssert.java Starting at line 282 of /home/tom/pmd/pmd-web/src/junit-addons/src/main/junitx/framework/ArrayAssert.java Starting at line 331 of /home/tom/pmd/pmd-web/src/junit-addons/src/main/junitx/framework/ArrayAssert.java Starting at line 380 of /home/tom/pmd/pmd-web/src/junit-addons/src/main/junitx/framework/ArrayAssert.java Starting at line 428 of /home/tom/pmd/pmd-web/src/junit-addons/src/main/junitx/framework/ArrayAssert.java Starting at line 476 of /home/tom/pmd/pmd-web/src/junit-addons/src/main/junitx/framework/ArrayAssert.java byte[] actual) { if (Arrays.equals(expected, actual)) { return; } String formatted = ""; if (message != null) { formatted = message + " "; } Assert.assertNotNull(formatted + "expected array: but was ", expected); Assert.assertNotNull(formatted + "expected array: but was ", actual); Assert.assertEquals(formatted + "[array length] ", expected.length, actual.length); for (int i = 0; i < actual.length; i++) { Assert.assertEquals(formatted + "[position " + i + "]", expected[i], actual[i]); } } /** * Asserts that two arrays are equal. Two arrays are considered equal if: *
    *
  • their respective lengths are the same *
  • all corresponding pairs of elements are equal *
  • both array references are null *
* * @param expected a byte array of expected values * @param actual a byte array of actual values */ public static void assertEquals(byte[] expected, ===================================================================== Found a 31 line (116 tokens) duplication in the following files: Starting at line 150 of /home/tom/pmd/pmd-web/src/junit-addons/src/main/junitx/framework/ArrayAssert.java Starting at line 184 of /home/tom/pmd/pmd-web/src/junit-addons/src/main/junitx/framework/ArrayAssert.java float delta) { if (Arrays.equals(expected, actual)) { return; } String formatted = ""; if (message != null) { formatted = message + " "; } Assert.assertNotNull(formatted + "expected array: but was ", expected); Assert.assertNotNull(formatted + "expected array: but was ", actual); Assert.assertEquals(formatted + "[array length] ", expected.length, actual.length); for (int i = 0; i < actual.length; i++) { Assert.assertEquals(formatted + "[position " + i + "]", expected[i], actual[i], delta); } } /** * Asserts that two arrays are equal. Two arrays are considered equal if: *
    *
  • their respective lengths are the same *
  • all corresponding pairs of elements are equal (within the delta range) *
  • both array references are null *
* * @param expected a float array of expected values * @param actual a float array of actual values * @param delta tolerated delta */ public static void assertEquals(float[] expected, ===================================================================== Found a 15 line (105 tokens) duplication in the following files: Starting at line 150 of /home/tom/pmd/pmd-web/src/junit-addons/src/main/junitx/framework/ArrayAssert.java Starting at line 234 of /home/tom/pmd/pmd-web/src/junit-addons/src/main/junitx/framework/ArrayAssert.java long[] actual) { if (Arrays.equals(expected, actual)) { return; } String formatted = ""; if (message != null) { formatted = message + " "; } Assert.assertNotNull(formatted + "expected array: but was ", expected); Assert.assertNotNull(formatted + "expected array: but was ", actual); Assert.assertEquals(formatted + "[array length] ", expected.length, actual.length); for (int i = 0; i < actual.length; i++) { Assert.assertEquals(formatted + "[position " + i + "]", expected[i], actual[i]);