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")); }
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"));
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: 8 Number of AST nodes: 7
1
if (isNetWare) {
2
            assertEquals("volumes on NetWare", 2, l.length);
1
assertEquals("volumes on NetWare", 2, l.length);
3
            assertEquals("sys:\\java\\lib\\rt.jar", l[0].toLowerCase(Locale.US));
2
            assertEquals("sys:\\test", l[0].toLowerCase(Locale.US));
4
            assertEquals("sys:\\java\\lib\\classes.zip", l[1].toLowerCase(Locale.US));
3
            assertEquals("dev:\\temp", l[1].toLowerCase(Locale.US));
5
        } else {
4
        } else {
6
            assertEquals("no multiple character-length volumes on Windows", 3, l.length);
5
            assertEquals("no multiple character-length volumes on Windows", 4, l.length);
7
            assertTrue("sys resolved relative to project\'s basedir",
6
            assertTrue("sys resolved relative to project\'s basedir",
8
                   l[0].endsWith("\\SYS"));
7
                   l[0].endsWith("\\sys"));
9
            assertTrue("java/lib/rt.jar resolved relative to project\'s basedir",
8
            assertTrue("test resolved relative to project\'s basedir",
10
                   l[1].endsWith("\\JAVA\\lib\\rt.jar"));
9
                   l[1].endsWith("\\test"));
11
            assertTrue("java/lib/classes.zip resolved relative to project\'s basedir",
10
            assertTrue("dev resolved relative to project\'s basedir",
12
                   l[2].endsWith("\\JAVA\\lib\\classes.zip"));
11
                   l[2].endsWith("\\
13
        }
12
dev"));
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
    67
    assertEquals("volumes on NetWare", 2, l.length);
    51
    assertEquals("volumes on NetWare", 2, l.length);
    68
    assertEquals("sys:\\java\\lib\\rt.jar", l[0].toLowerCase(Locale.US));
    68
    assertEquals("sys:\\java\\lib\\rt.jar", l[0].toLowerCase(Locale.US));
    52
    assertEquals("sys:\\test", l[0].toLowerCase(Locale.US));
    Differences
    Expression1Expression2Difference
    "sys:\\java\\lib\\rt.jar""sys:\\test"LITERAL_VALUE_MISMATCH
    52
    assertEquals("sys:\\test", l[0].toLowerCase(Locale.US));
    69
    assertEquals("sys:\\java\\lib\\classes.zip", l[1].toLowerCase(Locale.US));
    69
    assertEquals("sys:\\java\\lib\\classes.zip", l[1].toLowerCase(Locale.US));
    54
    assertEquals("no multiple character-length volumes on Windows", 4, l.length);
    Differences
    Expression1Expression2Difference
    assertEquals("sys:\\java\\lib\\classes.zip",l[1].toLowerCase(Locale.US))assertEquals("no multiple character-length volumes on Windows",4,l.length)ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression assertEquals("sys:\\java\\lib\\classes.zip",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",4,l.length) is a void method call, and thus it cannot be parameterized
    54
    assertEquals("no multiple character-length volumes on Windows", 4, l.length);
    70
    assertEquals("no multiple character-length volumes on Windows", 3, l.length);
    70
    assertEquals("no multiple character-length volumes on Windows", 3, l.length);
    53
    assertEquals("dev:\\temp", l[1].toLowerCase(Locale.US));
    Differences
    Expression1Expression2Difference
    assertEquals("no multiple character-length volumes on Windows",3,l.length)assertEquals("dev:\\temp",l[1].toLowerCase(Locale.US))ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression assertEquals("no multiple character-length volumes on Windows",3,l.length) is a void method call, and thus it cannot be parameterized
    Expression assertEquals("dev:\\temp",l[1].toLowerCase(Locale.US)) is a void method call, and thus it cannot be parameterized
    53
    assertEquals("dev:\\temp", l[1].toLowerCase(Locale.US));
    71
    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"));
    55
    assertTrue("sys resolved relative to project\'s basedir", l[0].endsWith("\\sys"));
    Differences
    Expression1Expression2Difference
    "\\SYS""\\sys"LITERAL_VALUE_MISMATCH
    55
    assertTrue("sys resolved relative to project\'s basedir", l[0].endsWith("\\sys"));
    72
    assertTrue("java/lib/rt.jar resolved relative to project\'s basedir", l[1].endsWith("\\JAVA\\lib\\rt.jar"));
    72
    assertTrue("java/lib/rt.jar resolved relative to project\'s basedir", l[1].endsWith("\\JAVA\\lib\\rt.jar"));
    56
    assertTrue("test resolved relative to project\'s basedir", l[1].endsWith("\\test"));
    Differences
    Expression1Expression2Difference
    "java/lib/rt.jar resolved relative to project\'s basedir""test resolved relative to project\'s basedir"LITERAL_VALUE_MISMATCH
    "\\JAVA\\lib\\rt.jar""\\test"LITERAL_VALUE_MISMATCH
    56
    assertTrue("test resolved relative to project\'s basedir", l[1].endsWith("\\test"));
    73
    assertTrue("java/lib/classes.zip resolved relative to project\'s basedir", l[2].endsWith("\\JAVA\\lib\\classes.zip"));
    73
    assertTrue("java/lib/classes.zip resolved relative to project\'s basedir", l[2].endsWith("\\JAVA\\lib\\classes.zip"));
    57
    assertTrue("dev resolved relative to project\'s basedir", l[2].endsWith("\\dev"));
    Differences
    Expression1Expression2Difference
    "java/lib/classes.zip resolved relative to project\'s basedir""dev resolved relative to project\'s basedir"LITERAL_VALUE_MISMATCH
    "\\JAVA\\lib\\classes.zip""\\dev"LITERAL_VALUE_MISMATCH
    57
    assertTrue("dev resolved relative to project\'s basedir", l[2].endsWith("\\dev"));
    Precondition Violations (4)
    Row Violation
    1Expression assertEquals("sys:\\java\\lib\\classes.zip",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",4,l.length) is a void method call, and thus it cannot be parameterized
    3Expression assertEquals("no multiple character-length volumes on Windows",3,l.length) is a void method call, and thus it cannot be parameterized
    4Expression assertEquals("dev:\\temp",l[1].toLowerCase(Locale.US)) is a void method call, and thus it cannot be parameterized