assertEquals("volumes on NetWare", 2, l.length); assertEquals("sys:\\test", l[0].toLowerCase(Locale.US)); assertEquals("dev:\\temp", l[1].toLowerCase(Locale.US)); } else { assertEquals("no multiple character-length volumes on Windows", 4, l.length); assertTrue("sys resolved relative to project\'s basedir", l[0].endsWith("\\sys")); assertTrue("test resolved relative to project\'s basedir", l[1].endsWith("\\test")); assertTrue("dev resolved relative to project\'s basedir", l[2].endsWith("\\dev"));
if (isNetWare) { assertEquals("volumes on NetWare", 2, l.length); assertEquals("sys:\\java\\lib\\rt.jar", l[0].toLowerCase(Locale.US)); assertEquals("sys:\\java\\lib\\classes.zip", l[1].toLowerCase(Locale.US)); } else { assertEquals("no multiple character-length volumes on Windows", 3, l.length); assertTrue("sys resolved relative to project\'s basedir", l[0].endsWith("\\SYS")); assertTrue("java/lib/rt.jar resolved relative to project\'s basedir", l[1].endsWith("\\JAVA\\lib\\rt.jar")); assertTrue("java/lib/classes.zip resolved relative to project\'s basedir", l[2].endsWith("\\JAVA\\lib\\classes.zip")); }
Clone fragments detected by clone detection tool
File path: /apache-ant-1.7.0/src/tests/junit/org/apache/tools/ant/types/PathTest.java File path: /apache-ant-1.7.0/src/tests/junit/org/apache/tools/ant/types/PathTest.java
Method name: void testConstructorNetWareStyle() Method name: void testConstructorNetWareStyle()
Number of AST nodes: 7 Number of AST nodes: 8
1
if (isNetWare) {
1
assertEquals("volumes on NetWare", 2, l.length);
2
            assertEquals("volumes on NetWare", 2, l.length);
2
            assertEquals("sys:\\test", l[0].toLowerCase(Locale.US));
3
            assertEquals("sys:\\java\\lib\\rt.jar", l[0].toLowerCase(Locale.US));
3
            assertEquals("dev:\\temp", l[1].toLowerCase(Locale.US));
4
            assertEquals("sys:\\java\\lib\\classes.zip", l[1].toLowerCase(Locale.US));
4
        } else {
5
        } else {
5
            assertEquals("no multiple character-length volumes on Windows", 4, l.length);
6
            assertEquals("no multiple character-length volumes on Windows", 3, l.length);
6
            assertTrue("sys resolved relative to project\'s basedir",
7
            assertTrue("sys resolved relative to project\'s basedir",
7
                   l[0].endsWith("\\sys"));
8
                   l[0].endsWith("\\SYS"));
8
            assertTrue("test resolved relative to project\'s basedir",
9
            assertTrue("java/lib/rt.jar resolved relative to project\'s basedir",
9
                   l[1].endsWith("\\test"));
10
                   l[1].endsWith("\\JAVA\\lib\\rt.jar"));
10
            assertTrue("dev resolved relative to project\'s basedir",
11
            assertTrue("java/lib/classes.zip resolved relative to project\'s basedir",
11
                   l[2].endsWith("\\dev"));
12
                   l[2].endsWith("\\JAVA\\lib\\classes.zip"));
13
        }
Summary
Number of common nesting structure subtrees1
Number of refactorable cases0
Number of non-refactorable cases1
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones locationClones are in the same method
Number of node comparisons49
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements7
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)0.0
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    22
    assertEquals("volumes on NetWare", 2, l.length);
    67
    assertEquals("volumes on NetWare", 2, l.length);
    23
    assertEquals("sys:\\test", l[0].toLowerCase(Locale.US));
    23
    assertEquals("sys:\\test", l[0].toLowerCase(Locale.US));
    68
    assertEquals("sys:\\java\\lib\\rt.jar", l[0].toLowerCase(Locale.US));
    Differences
    Expression1Expression2Difference
    "sys:\\test""sys:\\java\\lib\\rt.jar"LITERAL_VALUE_MISMATCH
    68
    assertEquals("sys:\\java\\lib\\rt.jar", l[0].toLowerCase(Locale.US));
    24
    assertEquals("dev:\\temp", l[1].toLowerCase(Locale.US));
    24
    assertEquals("dev:\\temp", l[1].toLowerCase(Locale.US));
    70
    assertEquals("no multiple character-length volumes on Windows", 3, l.length);
    Differences
    Expression1Expression2Difference
    assertEquals("dev:\\temp",l[1].toLowerCase(Locale.US))assertEquals("no multiple character-length volumes on Windows",3,l.length)ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression assertEquals("dev:\\temp",l[1].toLowerCase(Locale.US)) is a void method call, and thus it cannot be parameterized
    Expression assertEquals("no multiple character-length volumes on Windows",3,l.length) is a void method call, and thus it cannot be parameterized
    70
    assertEquals("no multiple character-length volumes on Windows", 3, l.length);
    25
    assertEquals("no multiple character-length volumes on Windows", 4, l.length);
    25
    assertEquals("no multiple character-length volumes on Windows", 4, l.length);
    69
    assertEquals("sys:\\java\\lib\\classes.zip", l[1].toLowerCase(Locale.US));
    Differences
    Expression1Expression2Difference
    assertEquals("no multiple character-length volumes on Windows",4,l.length)assertEquals("sys:\\java\\lib\\classes.zip",l[1].toLowerCase(Locale.US))ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression assertEquals("no multiple character-length volumes on Windows",4,l.length) is a void method call, and thus it cannot be parameterized
    Expression assertEquals("sys:\\java\\lib\\classes.zip",l[1].toLowerCase(Locale.US)) is a void method call, and thus it cannot be parameterized
    69
    assertEquals("sys:\\java\\lib\\classes.zip", l[1].toLowerCase(Locale.US));
    26
    assertTrue("sys resolved relative to project\'s basedir", l[0].endsWith("\\sys"));
    26
    assertTrue("sys resolved relative to project\'s basedir", l[0].endsWith("\\sys"));
    71
    assertTrue("sys resolved relative to project\'s basedir", l[0].endsWith("\\SYS"));
    Differences
    Expression1Expression2Difference
    "\\sys""\\SYS"LITERAL_VALUE_MISMATCH
    71
    assertTrue("sys resolved relative to project\'s basedir", l[0].endsWith("\\SYS"));
    27
    assertTrue("test resolved relative to project\'s basedir", l[1].endsWith("\\test"));
    27
    assertTrue("test resolved relative to project\'s basedir", l[1].endsWith("\\test"));
    72
    assertTrue("java/lib/rt.jar resolved relative to project\'s basedir", l[1].endsWith("\\JAVA\\lib\\rt.jar"));
    Differences
    Expression1Expression2Difference
    "test resolved relative to project\'s basedir""java/lib/rt.jar resolved relative to project\'s basedir"LITERAL_VALUE_MISMATCH
    "\\test""\\JAVA\\lib\\rt.jar"LITERAL_VALUE_MISMATCH
    72
    assertTrue("java/lib/rt.jar resolved relative to project\'s basedir", l[1].endsWith("\\JAVA\\lib\\rt.jar"));
    28
    assertTrue("dev resolved relative to project\'s basedir", l[2].endsWith("\\dev"));
    28
    assertTrue("dev resolved relative to project\'s basedir", l[2].endsWith("\\dev"));
    73
    assertTrue("java/lib/classes.zip resolved relative to project\'s basedir", l[2].endsWith("\\JAVA\\lib\\classes.zip"));
    Differences
    Expression1Expression2Difference
    "dev resolved relative to project\'s basedir""java/lib/classes.zip resolved relative to project\'s basedir"LITERAL_VALUE_MISMATCH
    "\\dev""\\JAVA\\lib\\classes.zip"LITERAL_VALUE_MISMATCH
    73
    assertTrue("java/lib/classes.zip resolved relative to project\'s basedir", l[2].endsWith("\\JAVA\\lib\\classes.zip"));
    Precondition Violations (4)
    Row Violation
    1Expression assertEquals("dev:\\temp",l[1].toLowerCase(Locale.US)) is a void method call, and thus it cannot be parameterized
    2Expression assertEquals("no multiple character-length volumes on Windows",3,l.length) is a void method call, and thus it cannot be parameterized
    3Expression assertEquals("no multiple character-length volumes on Windows",4,l.length) is a void method call, and thus it cannot be parameterized
    4Expression assertEquals("sys:\\java\\lib\\classes.zip",l[1].toLowerCase(Locale.US)) is a void method call, and thus it cannot be parameterized