try { ih.getElementType("eight"); fail("addEight takes no arguments"); } catch (BuildException be) { } try { ih.getElementType("nine"); fail("nine return non void"); } catch (BuildException be) { } try { ih.getElementType("ten"); fail("addTen takes array argument"); } catch (BuildException be) { } try { ih.getElementType("eleven"); fail("addEleven takes primitive argument"); } catch (BuildException be) { } try { ih.getElementType("twelve"); fail("no primitive constructor for java.lang.Class"); } catch (BuildException be) { } assertEquals(StringBuffer.class, ih.getElementType("thirteen"));
try { ih.getElementType("one"); fail("don't have element type one"); } catch (BuildException be) { } try { ih.getElementType("two"); fail("createTwo takes arguments"); } catch (BuildException be) { } try { ih.getElementType("three"); fail("createThree returns void"); } catch (BuildException be) { } try { ih.getElementType("four"); fail("createFour returns array"); } catch (BuildException be) { } try { ih.getElementType("five"); fail("createFive returns primitive type"); } catch (BuildException be) { } assertEquals(String.class, ih.getElementType("six"));
Clone fragments detected by clone detection tool
File path: /apache-ant-1.7.0/src/tests/junit/org/apache/tools/ant/IntrospectionHelperTest.java File path: /apache-ant-1.7.0/src/tests/junit/org/apache/tools/ant/IntrospectionHelperTest.java
Method name: void testElementCreators() Method name: void testElementCreators()
Number of AST nodes: 16 Number of AST nodes: 16
1
try {
1
try {
2
            ih.getElementType("eight");
2
            ih.getElementType("one");
3
            fail("addEight takes no arguments");
3
            fail("don't have element type one");
4
        } catch (BuildException be) {
4
        } catch (BuildException be) {
5
        }
5
        }
6
        try {
6
        try {
7
            ih.getElementType("nine");
7
            ih.getElementType("two");
8
            fail("nine return non void");
8
            fail("createTwo takes arguments");
9
        } catch (BuildException be) {
9
        } catch (BuildException be) {
10
        }
10
        }
11
        try {
11
        try {
12
            ih.getElementType("ten");
12
            ih.getElementType("three");
13
            fail("addTen takes array argument");
13
            fail("createThree returns void");
14
        } catch (BuildException be) {
14
        } catch (BuildException be) {
15
        }
15
        }
16
        try {
16
        try {
17
            ih.getElementType("eleven");
17
            ih.getElementType("four");
18
            fail("addEleven takes primitive argument");
18
            fail("createFour returns array");
19
        } catch (BuildException be) {
19
        } catch (BuildException be) {
20
        }
20
        }
21
        try {
21
        try {
22
            ih.getElementType("twelve");
22
            ih.getElementType("five");
23
            fail("no primitive constructor for java.lang.Class");
23
            fail("createFive returns primitive type");
24
        } catch (BuildException be) {
24
        } catch (BuildException be) {
25
        }
25
        }
26
        assertEquals(StringBuffer.class, ih.getElementType("thirteen"));
26
        assertEquals(String.class, ih.getElementType("six"));
Summary
Number of common nesting structure subtrees1
Number of refactorable cases1
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.7
Clones locationClones are in the same method
Number of node comparisons146
  1. {Refactorable}
    Mapping Summary
    Number of mapped statements16
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)8.0
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    21
    try
    1
    try
    22
    ih.getElementType("eight");
    22
    ih.getElementType("eight");
    2
    ih.getElementType("one");
    Differences
    Expression1Expression2Difference
    "eight""one"LITERAL_VALUE_MISMATCH
    2
    ih.getElementType("one");
    23
    fail("addEight takes no arguments");
    23
    fail("addEight takes no arguments");
    3
    fail("don't have element type one");
    Differences
    Expression1Expression2Difference
    "addEight takes no arguments""don't have element type one"LITERAL_VALUE_MISMATCH
    3
    fail("don't have element type one");
    24
    try
    4
    try
    25
    ih.getElementType("nine");
    25
    ih.getElementType("nine");
    5
    ih.getElementType("two");
    Differences
    Expression1Expression2Difference
    "nine""two"LITERAL_VALUE_MISMATCH
    5
    ih.getElementType("two");
    26
    fail("nine return non void");
    26
    fail("nine return non void");
    6
    fail("createTwo takes arguments");
    Differences
    Expression1Expression2Difference
    "nine return non void""createTwo takes arguments"LITERAL_VALUE_MISMATCH
    6
    fail("createTwo takes arguments");
    27
    try
    7
    try
    28
    ih.getElementType("ten");
    28
    ih.getElementType("ten");
    8
    ih.getElementType("three");
    Differences
    Expression1Expression2Difference
    "ten""three"LITERAL_VALUE_MISMATCH
    8
    ih.getElementType("three");
    29
    fail("addTen takes array argument");
    29
    fail("addTen takes array argument");
    9
    fail("createThree returns void");
    Differences
    Expression1Expression2Difference
    "addTen takes array argument""createThree returns void"LITERAL_VALUE_MISMATCH
    9
    fail("createThree returns void");
    30
    try
    10
    try
    31
    ih.getElementType("eleven");
    31
    ih.getElementType("eleven");
    11
    ih.getElementType("four");
    Differences
    Expression1Expression2Difference
    "eleven""four"LITERAL_VALUE_MISMATCH
    11
    ih.getElementType("four");
    32
    fail("addEleven takes primitive argument");
    32
    fail("addEleven takes primitive argument");
    12
    fail("createFour returns array");
    Differences
    Expression1Expression2Difference
    "addEleven takes primitive argument""createFour returns array"LITERAL_VALUE_MISMATCH
    12
    fail("createFour returns array");
    33
    try
    13
    try
    34
    ih.getElementType("twelve");
    34
    ih.getElementType("twelve");
    14
    ih.getElementType("five");
    Differences
    Expression1Expression2Difference
    "twelve""five"LITERAL_VALUE_MISMATCH
    14
    ih.getElementType("five");
    35
    fail("no primitive constructor for java.lang.Class");
    35
    fail("no primitive constructor for java.lang.Class");
    15
    fail("createFive returns primitive type");
    Differences
    Expression1Expression2Difference
    "no primitive constructor for java.lang.Class""createFive returns primitive type"LITERAL_VALUE_MISMATCH
    15
    fail("createFive returns primitive type");
    36
    assertEquals(StringBuffer.class, ih.getElementType("thirteen"));
    36
    assertEquals(StringBuffer.class, ih.getElementType("thirteen"));
    16
    assertEquals(String.class, ih.getElementType("six"));
    Differences
    Expression1Expression2Difference
    StringBuffer.classString.classLITERAL_VALUE_MISMATCH
    "thirteen""six"LITERAL_VALUE_MISMATCH
    16
    assertEquals(String.class, ih.getElementType("six"));
    Precondition Violations (0)
    Row Violation