final CLOptionDescriptor[] options = new CLOptionDescriptor[] { DEFINE, ALL, CLEAR1 }; final CLArgsParser parser = new CLArgsParser(ARGLIST3, options); assertNull(parser.getErrorString(), parser.getErrorString()); final List clOptions = parser.getArguments(); final int size = clOptions.size(); assertEquals(size, 5); assertEquals(((CLOption) clOptions.get(0)).getDescriptor().getId(), DEFINE_OPT); assertEquals(((CLOption) clOptions.get(1)).getDescriptor().getId(), 0); assertEquals(((CLOption) clOptions.get(2)).getDescriptor().getId(), ALL_OPT); assertEquals(((CLOption) clOptions.get(3)).getDescriptor().getId(), ALL_OPT); assertEquals(((CLOption) clOptions.get(4)).getDescriptor().getId(), 0);
final CLOptionDescriptor[] options = new CLOptionDescriptor[] { DEFINE, ALL, CLEAR1, BLEE }; final CLArgsParser parser = new CLArgsParser(ARGLIST4, options); assertNotNull(parser.getErrorString()); final List clOptions = parser.getArguments(); final int size = clOptions.size(); assertEquals(size, 5); assertEquals(((CLOption) clOptions.get(0)).getDescriptor().getId(), DEFINE_OPT); assertEquals(((CLOption) clOptions.get(1)).getDescriptor().getId(), 0); assertEquals(((CLOption) clOptions.get(2)).getDescriptor().getId(), ALL_OPT); assertEquals(((CLOption) clOptions.get(3)).getDescriptor().getId(), BLEE_OPT); assertEquals(((CLOption) clOptions.get(4)).getDescriptor().getId(), 0);
Clone fragments detected by clone detection tool
File path: /jakarta-jmeter-2.3.2/test/src/org/apache/commons/cli/avalon/ClutilTestCase.java File path: /jakarta-jmeter-2.3.2/test/src/org/apache/commons/cli/avalon/ClutilTestCase.java
Method name: void testDuplicateOptions() Method name: void testIncompatableOptions()
Number of AST nodes: 11 Number of AST nodes: 11
1
final CLOptionDescriptor[] options = new CLOptionDescriptor[] { DEFINE, ALL, CLEAR1 };
1
final CLOptionDescriptor[] options = new CLOptionDescriptor[] { DEFINE, ALL, CLEAR1, BLEE };
2
        final CLArgsParser parser = new CLArgsParser(ARGLIST3, options);
2
        final CLArgsParser parser = new CLArgsParser(ARGLIST4, options);
3
        assertNull(parser.getErrorString(), parser.getErrorString());
3
        assertNotNull(parser.getErrorString());
4
        final List clOptions = parser.getArguments();
4
        final List clOptions = parser.getArguments();
5
        final int size = clOptions.size();
5
        final int size = clOptions.size();
6
        assertEquals(size, 5);
6
        assertEquals(size, 5);
7
        assertEquals(((CLOption) clOptions.get(0)).getDescriptor().getId(), DEFINE_OPT);
7
        assertEquals(((CLOption) clOptions.get(0)).getDescriptor().getId(), DEFINE_OPT);
8
        assertEquals(((CLOption) clOptions.get(1)).getDescriptor().getId(), 0);
8
        assertEquals(((CLOption) clOptions.get(1)).getDescriptor().getId(), 0);
9
        assertEquals(((CLOption) clOptions.get(2)).getDescriptor().getId(), ALL_OPT);
9
        assertEquals(((CLOption) clOptions.get(2)).getDescriptor().getId(), ALL_OPT);
10
        assertEquals(((CLOption) clOptions.get(3)).getDescriptor().getId(), ALL_OPT);
10
        assertEquals(((CLOption) clOptions.get(3)).getDescriptor().getId(), BLEE_OPT);
11
        assertEquals(((CLOption) clOptions.get(4)).getDescriptor().getId(), 0);
11
        assertEquals(((CLOption) clOptions.get(4)).getDescriptor().getId(), 0);
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 declared in the same class
Number of node comparisons101
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements11
    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
    1
    final CLOptionDescriptor[] options = new CLOptionDescriptor[] {DEFINE, ALL, CLEAR1};
    1
    final CLOptionDescriptor[] options = new CLOptionDescriptor[] {DEFINE, ALL, CLEAR1};
    1
    final CLOptionDescriptor[] options = new CLOptionDescriptor[] {DEFINE, ALL, CLEAR1, BLEE};
    Differences
    Expression1Expression2Difference
    {DEFINE,ALL,CLEAR1}{DEFINE,ALL,CLEAR1,BLEE}ARRAY_INITIALIZER_EXPRESSION_NUMBER_MISMATCH
    1
    final CLOptionDescriptor[] options = new CLOptionDescriptor[] {DEFINE, ALL, CLEAR1, BLEE};
    2
    final CLArgsParser parser = new CLArgsParser(ARGLIST3, options);
    2
    final CLArgsParser parser = new CLArgsParser(ARGLIST3, options);
    2
    final CLArgsParser parser = new CLArgsParser(ARGLIST4, options);
    Differences
    Expression1Expression2Difference
    ARGLIST3ARGLIST4VARIABLE_NAME_MISMATCH
    2
    final CLArgsParser parser = new CLArgsParser(ARGLIST4, options);
    3
    assertNull(parser.getErrorString(), parser.getErrorString());
    3
    assertNull(parser.getErrorString(), parser.getErrorString());
    3
    assertNotNull(parser.getErrorString());
    Differences
    Expression1Expression2Difference
    assertNullassertNotNullMETHOD_INVOCATION_NAME_MISMATCH
    assertNull(parser.getErrorString(),parser.getErrorString())assertNotNull(parser.getErrorString())ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression assertNull(parser.getErrorString(),parser.getErrorString()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression assertNotNull(parser.getErrorString()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression assertNull(parser.getErrorString(),parser.getErrorString()) is a void method call, and thus it cannot be parameterized
    Expression assertNotNull(parser.getErrorString()) is a void method call, and thus it cannot be parameterized
    Expression assertNull(parser.getErrorString(),parser.getErrorString()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression assertNotNull(parser.getErrorString()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression assertNull(parser.getErrorString(),parser.getErrorString()) is a void method call, and thus it cannot be parameterized
    Expression assertNotNull(parser.getErrorString()) is a void method call, and thus it cannot be parameterized
    3
    assertNotNull(parser.getErrorString());
    4
    final List clOptions = parser.getArguments();
    4
    final List clOptions = parser.getArguments();
    5
    final int size = clOptions.size();
    5
    final int size = clOptions.size();
    6
    assertEquals(size, 5);
    6
    assertEquals(size, 5);
    7
    assertEquals(((CLOption)clOptions.get(0)).getDescriptor().getId(), DEFINE_OPT);
    7
    assertEquals(((CLOption)clOptions.get(0)).getDescriptor().getId(), DEFINE_OPT);
    8
    assertEquals(((CLOption)clOptions.get(1)).getDescriptor().getId(), 0);
    8
    assertEquals(((CLOption)clOptions.get(1)).getDescriptor().getId(), 0);
    9
    assertEquals(((CLOption)clOptions.get(2)).getDescriptor().getId(), ALL_OPT);
    9
    assertEquals(((CLOption)clOptions.get(2)).getDescriptor().getId(), ALL_OPT);
    10
    assertEquals(((CLOption)clOptions.get(3)).getDescriptor().getId(), ALL_OPT);
    10
    assertEquals(((CLOption)clOptions.get(3)).getDescriptor().getId(), ALL_OPT);
    10
    assertEquals(((CLOption)clOptions.get(3)).getDescriptor().getId(), BLEE_OPT);
    Differences
    Expression1Expression2Difference
    ALL_OPTBLEE_OPTVARIABLE_NAME_MISMATCH
    10
    assertEquals(((CLOption)clOptions.get(3)).getDescriptor().getId(), BLEE_OPT);
    11
    assertEquals(((CLOption)clOptions.get(4)).getDescriptor().getId(), 0);
    11
    assertEquals(((CLOption)clOptions.get(4)).getDescriptor().getId(), 0);
    Precondition Violations (8)
    Row Violation
    1Expression assertNull(parser.getErrorString(),parser.getErrorString()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    2Expression assertNotNull(parser.getErrorString()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    3Expression assertNull(parser.getErrorString(),parser.getErrorString()) is a void method call, and thus it cannot be parameterized
    4Expression assertNotNull(parser.getErrorString()) is a void method call, and thus it cannot be parameterized
    5Expression assertNull(parser.getErrorString(),parser.getErrorString()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    6Expression assertNotNull(parser.getErrorString()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    7Expression assertNull(parser.getErrorString(),parser.getErrorString()) is a void method call, and thus it cannot be parameterized
    8Expression assertNotNull(parser.getErrorString()) is a void method call, and thus it cannot be parameterized