expect(mockSession.getApplication()).andStubReturn(mockApplication); expect(mockSession.getIdentifier()).andStubReturn(mockSessionId); expect(mockSession.getProperties()).andStubReturn(mockSessionProperties); expect(mockSession.getMetaData()).andStubReturn(mockSQLMetaData); expect(mockSessionProperties.getMetaDataOutputClassName()).andStubReturn( DataSetListModel.class.getName()); expect(mockApplication.getSessionManager()).andStubReturn(mockSessionManager); expect(mockSessionManager.getSession(mockSessionId)).andStubReturn(mockSession); expect(mockSession.getSQLConnection()).andStubReturn(mockSQLConnection); expect(mockSQLConnection.prepareStatement(isA(String.class))).andStubReturn(mockPreparedStatement); expect(mockSQLMetaData.getDatabaseProductName()).andStubReturn(databaseProductName); expect(mockSQLMetaData.getDatabaseProductVersion()).andStubReturn(DATABASE_PRODUCT_VERSION); mockPreparedStatement.setString(anyInt(), isA(String.class)); expectLastCall().anyTimes(); mockPreparedStatement.setLong(anyInt(), anyLong()); expectLastCall().anyTimes(); setupMockDatabaseObjectInfo(); expect(mockPreparedStatement.executeQuery()).andStubReturn(mockResultSet); expect(mockResultSet.next()).andStubReturn(false); expect(mockResultSet.getMetaData()).andStubReturn(mockResultSetMetaData); expect(mockResultSetMetaData.getColumnCount()).andStubReturn(1); expect(mockResultSetMetaData.isNullable(1)).andStubReturn(ResultSetMetaData.columnNoNulls); expect(mockResultSetMetaData.getPrecision(1)).andStubReturn(10); expect(mockResultSetMetaData.isSigned(1)).andReturn(true); expect(mockResultSetMetaData.isCurrency(1)).andReturn(true); expect(mockResultSetMetaData.isAutoIncrement(1)).andReturn(true); expect(mockResultSetMetaData.getColumnName(1)).andReturn(TEST_COLUMN_NAME); expect(mockResultSetMetaData.getColumnTypeName(1)).andReturn("VARCHAR"); expect(mockResultSetMetaData.getColumnType(1)).andReturn(Types.VARCHAR); expect(mockResultSetMetaData.getColumnDisplaySize(1)).andStubReturn(10); expect(mockResultSetMetaData.getColumnLabel(1)).andStubReturn(TEST_COLUMN_NAME); expect(mockResultSetMetaData.getScale(1)).andStubReturn(3); mockResultSet.close(); expect(mockResultSet.getStatement()).andStubReturn(mockPreparedStatement); mockPreparedStatement.close(); mockHelper.replayAll(); classUnderTest.setSession(mockSession); classUnderTest.setDatabaseObjectInfo(mockDatabaseObjectInfo); classUnderTest.getComponent(); classUnderTest.select(); mockHelper.verifyAll();
expect(mockSession.getApplication()).andStubReturn(mockApplication); expect(mockSession.getIdentifier()).andStubReturn(mockSessionId); expect(mockSession.getProperties()).andStubReturn(mockSessionProperties); expect(mockSession.getMetaData()).andStubReturn(mockSQLMetaData); expect(mockSessionProperties.getMetaDataOutputClassName()).andStubReturn( DataSetListModel.class.getName()); expect(mockApplication.getSessionManager()).andStubReturn(mockSessionManager); expect(mockSessionManager.getSession(mockSessionId)).andStubReturn(mockSession); expect(mockDatabaseObjectInfo.getSchemaName()).andStubReturn(TEST_SCHEMA_NAME); expect(mockDatabaseObjectInfo.getCatalogName()).andStubReturn(TEST_CATALOG_NAME); expect(mockDatabaseObjectInfo.getSimpleName()).andStubReturn(TEST_SIMPLE_NAME); expect(mockDatabaseObjectInfo.getQualifiedName()).andStubReturn(TEST_QUALIFIED_NAME); expect(mockSession.getSQLConnection()).andStubReturn(mockSQLConnection); expect(mockSQLConnection.createStatement()).andStubReturn(mockStatement); expect(mockSQLMetaData.getDatabaseProductName()).andStubReturn(databaseProductName); expect(mockSQLMetaData.getDatabaseProductVersion()).andStubReturn(DATABASE_PRODUCT_VERSION); expect(mockStatement.executeQuery(isA(String.class))).andStubReturn(mockResultSet); expect(mockResultSet.next()).andStubReturn(false); expect(mockResultSet.getMetaData()).andStubReturn(mockResultSetMetaData); expect(mockResultSetMetaData.getColumnCount()).andStubReturn(1); expect(mockResultSetMetaData.isNullable(1)).andStubReturn(ResultSetMetaData.columnNoNulls); expect(mockResultSetMetaData.getPrecision(1)).andStubReturn(10); expect(mockResultSetMetaData.isSigned(1)).andReturn(true); expect(mockResultSetMetaData.isCurrency(1)).andReturn(true); expect(mockResultSetMetaData.isAutoIncrement(1)).andReturn(true); expect(mockResultSetMetaData.getColumnName(1)).andReturn(TEST_COLUMN_NAME); expect(mockResultSetMetaData.getColumnTypeName(1)).andReturn("VARCHAR"); expect(mockResultSetMetaData.getColumnType(1)).andReturn(Types.VARCHAR); expect(mockResultSetMetaData.getColumnDisplaySize(1)).andStubReturn(10); expect(mockResultSetMetaData.getColumnLabel(1)).andStubReturn(TEST_COLUMN_NAME); expect(mockResultSetMetaData.getScale(1)).andStubReturn(3); mockResultSet.close(); mockStatement.close(); mockHelper.replayAll(); classUnderTest.setSession(mockSession); classUnderTest.setDatabaseObjectInfo(mockDatabaseObjectInfo); classUnderTest.getComponent(); classUnderTest.select(); mockHelper.verifyAll();
Clone fragments detected by clone detection tool
File path: /sql12/test/src/net/sourceforge/squirrel_sql/client/session/mainpanel/objecttree/tabs/AbstractBasePreparedStatementTabTest.java File path: /sql12/test/src/net/sourceforge/squirrel_sql/client/session/mainpanel/objecttree/tabs/AbstractStatementTabTest.java
Method name: void testSelect() Method name: void testSelect()
Number of AST nodes: 40 Number of AST nodes: 38
1
expect(mockSession.getApplication()).andStubReturn(mockApplication);
1
expect(mockSession.getApplication()).andStubReturn(mockApplication);
2
		expect(mockSession.getIdentifier()).andStubReturn(mockSessionId);
2
		expect(mockSession.getIdentifier()).andStubReturn(mockSessionId);
3
		expect(mockSession.getProperties()).andStubReturn(mockSessionProperties);
3
		expect(mockSession.getProperties()).andStubReturn(mockSessionProperties);
4
		expect(mockSession.getMetaData()).andStubReturn(mockSQLMetaData);
4
		expect(mockSession.getMetaData()).andStubReturn(mockSQLMetaData);
5
		expect(mockSessionProperties.getMetaDataOutputClassName()).andStubReturn(
5
		expect(mockSessionProperties.getMetaDataOutputClassName()).andStubReturn(
6
			DataSetListModel.class.getName());
6
			DataSetListModel.class.getName());
7
		expect(mockApplication.getSessionManager()).andStubReturn(mockSessionManager);
7
		expect(mockApplication.getSessionManager()).andStubReturn(mockSessionManager);
8
		expect(mockSessionManager.getSession(mockSessionId)).andStubReturn(mockSession);
8
		expect(mockSessionManager.getSession(mockSessionId)).andStubReturn(mockSession);
9
		
9
		expect(mockDatabaseObjectInfo.getSchemaName()).andStubReturn(TEST_SCHEMA_NAME);
10
		expect(mockDatabaseObjectInfo.getCatalogName()).andStubReturn(TEST_CATALOG_NAME);
11
		expect(mockDatabaseObjectInfo.getSimpleName()).andStubReturn(TEST_SIMPLE_NAME);
12
		expect(mockDatabaseObjectInfo.getQualifiedName()).andStubReturn(TEST_QUALIFIED_NAME);
10
expect(mockSession.getSQLConnection()).andStubReturn(mockSQLConnection);
13
		expect(mockSession.getSQLConnection()).andStubReturn(mockSQLConnection);
11
		expect(mockSQLConnection.prepareStatement(isA(String.class))).andStubReturn(mockPreparedStatement);
14
		expect(mockSQLConnection.createStatement()).andStubReturn(mockStatement);
12
		expect(mockSQLMetaData.getDatabaseProductName()).andStubReturn(databaseProductName);
15
		expect(mockSQLMetaData.getDatabaseProductName()).andStubReturn(databaseProductName);
13
		expect(mockSQLMetaData.getDatabaseProductVersion()).andStubReturn(DATABASE_PRODUCT_VERSION);
16
		expect(mockSQLMetaData.getDatabaseProductVersion()).andStubReturn(DATABASE_PRODUCT_VERSION);
14
		mockPreparedStatement.setString(anyInt(), isA(String.class));
17
		
15
		expectLastCall().anyTimes();
16
		mockPreparedStatement.setLong(anyInt(), anyLong());
17
		expectLastCall().anyTimes();
18
expect(mockStatement.exec
18
		setupMockDatabaseObjectInfo();
19
		expect(mockPreparedStatement.executeQuery()).andStubReturn(mockResultSet);
19
uteQuery(isA(String.class))).andStubReturn(mockResultSet);
20
		expect(mockResultSet.next()).andStubReturn(false);
20
		expect(mockResultSet.next()).andStubReturn(false);
21
		expect(mockResultSet.getMetaData()).andStubReturn(mockResultSetMetaData);
21
		expect(mockResultSet.getMetaData()).andStubReturn(mockResultSetMetaData);
22
		expect(mockResultSetMetaData.getColumnCount()).andStubReturn(1);
22
		expect(mockResultSetMetaData.getColumnCount()).andStubReturn(1);
23
		expect(mockResultSetMetaData.isNullable(1)).andStubReturn(ResultSetMetaData.columnNoNulls);
23
		expect(mockResultSetMetaData.isNullable(1)).andStubReturn(ResultSetMetaData.columnNoNulls);
24
		expect(mockResultSetMetaData.getPrecision(1)).andStubReturn(10);
24
		expect(mockResultSetMetaData.getPrecision(1)).andStubReturn(10);
25
		expect(mockResultSetMetaData.isSigned(1)).andReturn(true);
25
		expect(mockResultSetMetaData.isSigned(1)).andReturn(true);
26
		expect(mockResultSetMetaData.isCurrency(1)).andReturn(true);
26
		expect(mockResultSetMetaData.isCurrency(1)).andReturn(true);
27
		expect(mockResultSetMetaData.isAutoIncrement(1)).andReturn(true);
27
		expect(mockResultSetMetaData.isAutoIncrement(1)).andReturn(true);
28
		expect(mockResultSetMetaData.getColumnName(1)).andReturn(TEST_COLUMN_NAME);
28
		expect(mockResultSetMetaData.getColumnName(1)).andReturn(TEST_COLUMN_NAME);
29
		expect(mockResultSetMetaData.getColumnTypeName(1)).andReturn("VARCHAR");
29
		expect(mockResultSetMetaData.getColumnTypeName(1)).andReturn("VARCHAR");
30
		expect(mockResultSetMetaData.getColumnType(1)).andReturn(Types.VARCHAR);
30
		expect(mockResultSetMetaData.getColumnType(1)).andReturn(Types.VARCHAR);
31
		expect(mockResultSetMetaData.getColumnDisplaySize(1)).andStubReturn(10);
31
		expect(mockResultSetMetaData.getColumnDisplaySize(1)).andStubReturn(10);
32
		expect(mockResultSetMetaData.getColumnLabel(1)).andStubReturn(TEST_COLUMN_NAME);
32
		expect(mockResultSetMetaData.getColumnLabel(1)).andStubReturn(TEST_COLUMN_NAME);
33
		expect(mockResultSetMetaData.getScale(1)).andStubReturn(3);
33
		expect(mockResultSetMetaData.getScale(1)).andStubReturn(3);
34
		mockResultSet.close();
34
		mockResultSet.close();
35
		expect(mockResultSet.getStatement()).andStubReturn(mockPreparedStatement);
35
		
36
		mockPreparedStatement.close();
36
mockStatement.close();
37
		mockHelper.replayAll();
37
		mockHelper.replayAll();
38
		classUnderTest.setSession(mockSession);
38
		classUnderTest.setSession(mockSession);
39
		classUnderTest.setDatabaseObjectInfo(mockDatabaseObjectInfo);
39
		classUnderTest.setDatabaseObjectInfo(mockDatabaseObjectInfo);
40
		classUnderTest.getComponent();
40
		classUnderTest.getComponent();
41
		classUnderTest.select();
41
		classUnderTest.select();
42
		mockHelper.verifyAll();
42
		mockHelper.verifyAll();
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 different classes having the same super class
Number of node comparisons1520
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements34
    Number of unmapped statements in the first code fragment6
    Number of unmapped statements in the second code fragment4
    Time elapsed for statement mapping (ms)0.0
    Clone typeType 3
    Mapped Statements
    ID Statement ID Statement
    1
    expect(mockSession.getApplication()).andStubReturn(mockApplication);
    1
    expect(mockSession.getApplication()).andStubReturn(mockApplication);
    2
    expect(mockSession.getIdentifier()).andStubReturn(mockSessionId);
    2
    expect(mockSession.getIdentifier()).andStubReturn(mockSessionId);
    3
    expect(mockSession.getProperties()).andStubReturn(mockSessionProperties);
    3
    expect(mockSession.getProperties()).andStubReturn(mockSessionProperties);
    4
    expect(mockSession.getMetaData()).andStubReturn(mockSQLMetaData);
    4
    expect(mockSession.getMetaData()).andStubReturn(mockSQLMetaData);
    5
    expect(mockSessionProperties.getMetaDataOutputClassName()).andStubReturn(DataSetListModel.class.getName());
    5
    expect(mockSessionProperties.getMetaDataOutputClassName()).andStubReturn(DataSetListModel.class.getName());
    6
    expect(mockApplication.getSessionManager()).andStubReturn(mockSessionManager);
    6
    expect(mockApplication.getSessionManager()).andStubReturn(mockSessionManager);
    7
    expect(mockSessionManager.getSession(mockSessionId)).andStubReturn(mockSession);
    7
    expect(mockSessionManager.getSession(mockSessionId)).andStubReturn(mockSession);
                                                                                                                                                                        
    8
    expect(mockDatabaseObjectInfo.getSchemaName()).andStubReturn(TEST_SCHEMA_NAME);
                                                                                                                                                                            
    9
    expect(mockDatabaseObjectInfo.getCatalogName()).andStubReturn(TEST_CATALOG_NAME);
                                                                                                                                                                          
    10
    expect(mockDatabaseObjectInfo.getSimpleName()).andStubReturn(TEST_SIMPLE_NAME);
                                                                                                                                                                                      
    11
    expect(mockDatabaseObjectInfo.getQualifiedName()).andStubReturn(TEST_QUALIFIED_NAME);
    8
    expect(mockSession.getSQLConnection()).andStubReturn(mockSQLConnection);
    12
    expect(mockSession.getSQLConnection()).andStubReturn(mockSQLConnection);
    9
    expect(mockSQLConnection.prepareStatement(isA(String.class))).andStubReturn(mockPreparedStatement);
    9
    expect(mockSQLConnection.prepareStatement(isA(String.class))).andStubReturn(mockPreparedStatement);
    13
    expect(mockSQLConnection.createStatement()).andStubReturn(mockStatement);
    Differences
    Expression1Expression2Difference
    mockPreparedStatementmockStatementVARIABLE_NAME_MISMATCH
    java.sql.PreparedStatementjava.sql.StatementSUBCLASS_TYPE_MISMATCH
    prepareStatementcreateStatementMETHOD_INVOCATION_NAME_MISMATCH
    mockSQLConnection.prepareStatement(isA(String.class))mockSQLConnection.createStatement()ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression mockPreparedStatement cannot be unified with expression mockStatement , because common superclass type java.sql.Statement cannot be passed as an argument to public abstract void andStubReturn(java.lang.Object)
    13
    expect(mockSQLConnection.createStatement()).andStubReturn(mockStatement);
    10
    expect(mockSQLMetaData.getDatabaseProductName()).andStubReturn(databaseProductName);
    14
    expect(mockSQLMetaData.getDatabaseProductName()).andStubReturn(databaseProductName);
    11
    expect(mockSQLMetaData.getDatabaseProductVersion()).andStubReturn(DATABASE_PRODUCT_VERSION);
    15
    expect(mockSQLMetaData.getDatabaseProductVersion()).andStubReturn(DATABASE_PRODUCT_VERSION);
    12
    mockPreparedStatement.setString(anyInt(), isA(String.class));
                                                                                                                                    
    13
    expectLastCall().anyTimes();
                                                                    
    14
    mockPreparedStatement.setLong(anyInt(), anyLong());
                                                                                                                
    15
    expectLastCall().anyTimes();
                                                                    
    16
    setupMockDatabaseObjectInfo();
                                                                        
    17
    expect(mockPreparedStatement.executeQuery()).andStubReturn(mockResultSet);
    17
    expect(mockPreparedStatement.executeQuery()).andStubReturn(mockResultSet);
    16
    expect(mockStatement.executeQuery(isA(String.class))).andStubReturn(mockResultSet);
    Differences
    Expression1Expression2Difference
    mockPreparedStatementmockStatementVARIABLE_NAME_MISMATCH
    java.sql.PreparedStatementjava.sql.StatementSUBCLASS_TYPE_MISMATCH
    mockPreparedStatement.executeQuery()mockStatement.executeQuery(isA(String.class))ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression mockPreparedStatement cannot be unified with expression mockStatement , because common superclass java.sql.Statement does not declare member(s) public abstract java.sql.ResultSet executeQuery() throws java.sql.SQLException
    16
    expect(mockStatement.executeQuery(isA(String.class))).andStubReturn(mockResultSet);
    18
    expect(mockResultSet.next()).andStubReturn(false);
    17
    expect(mockResultSet.next()).andStubReturn(false);
    19
    expect(mockResultSet.getMetaData()).andStubReturn(mockResultSetMetaData);
    18
    expect(mockResultSet.getMetaData()).andStubReturn(mockResultSetMetaData);
    20
    expect(mockResultSetMetaData.getColumnCount()).andStubReturn(1);
    19
    expect(mockResultSetMetaData.getColumnCount()).andStubReturn(1);
    21
    expect(mockResultSetMetaData.isNullable(1)).andStubReturn(ResultSetMetaData.columnNoNulls);
    20
    expect(mockResultSetMetaData.isNullable(1)).andStubReturn(ResultSetMetaData.columnNoNulls);
    22
    expect(mockResultSetMetaData.getPrecision(1)).andStubReturn(10);
    21
    expect(mockResultSetMetaData.getPrecision(1)).andStubReturn(10);
    23
    expect(mockResultSetMetaData.isSigned(1)).andReturn(true);
    22
    expect(mockResultSetMetaData.isSigned(1)).andReturn(true);
    24
    expect(mockResultSetMetaData.isCurrency(1)).andReturn(true);
    23
    expect(mockResultSetMetaData.isCurrency(1)).andReturn(true);
    25
    expect(mockResultSetMetaData.isAutoIncrement(1)).andReturn(true);
    24
    expect(mockResultSetMetaData.isAutoIncrement(1)).andReturn(true);
    26
    expect(mockResultSetMetaData.getColumnName(1)).andReturn(TEST_COLUMN_NAME);
    25
    expect(mockResultSetMetaData.getColumnName(1)).andReturn(TEST_COLUMN_NAME);
    27
    expect(mockResultSetMetaData.getColumnTypeName(1)).andReturn("VARCHAR");
    26
    expect(mockResultSetMetaData.getColumnTypeName(1)).andReturn("VARCHAR");
    28
    expect(mockResultSetMetaData.getColumnType(1)).andReturn(Types.VARCHAR);
    27
    expect(mockResultSetMetaData.getColumnType(1)).andReturn(Types.VARCHAR);
    29
    expect(mockResultSetMetaData.getColumnDisplaySize(1)).andStubReturn(10);
    28
    expect(mockResultSetMetaData.getColumnDisplaySize(1)).andStubReturn(10);
    30
    expect(mockResultSetMetaData.getColumnLabel(1)).andStubReturn(TEST_COLUMN_NAME);
    29
    expect(mockResultSetMetaData.getColumnLabel(1)).andStubReturn(TEST_COLUMN_NAME);
    31
    expect(mockResultSetMetaData.getScale(1)).andStubReturn(3);
    30
    expect(mockResultSetMetaData.getScale(1)).andStubReturn(3);
    32
    mockResultSet.close();
    31
    mockResultSet.close();
    33
    expect(mockResultSet.getStatement()).andStubReturn(mockPreparedStatement);
                                                                                                                                                                
    34
    mockPreparedStatement.close();
    34
    mockPreparedStatement.close();
    32
    mockStatement.close();
    Differences
    Expression1Expression2Difference
    mockPreparedStatementmockStatementVARIABLE_NAME_MISMATCH
    java.sql.PreparedStatementjava.sql.StatementSUBCLASS_TYPE_MISMATCH
    32
    mockStatement.close();
    35
    mockHelper.replayAll();
    33
    mockHelper.replayAll();
    36
    classUnderTest.setSession(mockSession);
    36
    classUnderTest.setSession(mockSession);
    34
    classUnderTest.setSession(mockSession);
    Differences
    Expression1Expression2Difference
    net.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.tabs.BasePreparedStatementTabnet.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.tabs.BaseObjectTabSUBCLASS_TYPE_MISMATCH
    34
    classUnderTest.setSession(mockSession);
    37
    classUnderTest.setDatabaseObjectInfo(mockDatabaseObjectInfo);
    37
    classUnderTest.setDatabaseObjectInfo(mockDatabaseObjectInfo);
    35
    classUnderTest.setDatabaseObjectInfo(mockDatabaseObjectInfo);
    Differences
    Expression1Expression2Difference
    net.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.tabs.BasePreparedStatementTabnet.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.tabs.BaseObjectTabSUBCLASS_TYPE_MISMATCH
    35
    classUnderTest.setDatabaseObjectInfo(mockDatabaseObjectInfo);
    38
    classUnderTest.getComponent();
    38
    classUnderTest.getComponent();
    36
    classUnderTest.getComponent();
    Differences
    Expression1Expression2Difference
    net.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.tabs.BasePreparedStatementTabnet.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.tabs.BaseObjectTabSUBCLASS_TYPE_MISMATCH
    36
    classUnderTest.getComponent();
    39
    classUnderTest.select();
    39
    classUnderTest.select();
    37
    classUnderTest.select();
    Differences
    Expression1Expression2Difference
    net.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.tabs.BasePreparedStatementTabnet.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.tabs.BaseObjectTabSUBCLASS_TYPE_MISMATCH
    37
    classUnderTest.select();
    40
    mockHelper.verifyAll();
    38
    mockHelper.verifyAll();
    Precondition Violations (2)
    Row Violation
    1Expression mockPreparedStatement cannot be unified with expression mockStatement , because common superclass type java.sql.Statement cannot be passed as an argument to public abstract void andStubReturn(java.lang.Object)
    2Expression mockPreparedStatement cannot be unified with expression mockStatement , because common superclass java.sql.Statement does not declare member(s) public abstract java.sql.ResultSet executeQuery() throws java.sql.SQLException