@Test
  public void testModifyingName() throws Exception {
    DatabaseMeta databaseMeta = mock(DatabaseMeta.class);
    OracleDatabaseMeta odbm = new OracleDatabaseMeta();
    doCallRealMethod().when(databaseMeta).setDatabaseInterface(any(DatabaseInterface.class));
    doCallRealMethod().when(databaseMeta).setName(anyString());
    doCallRealMethod().when(databaseMeta).getName();
    doCallRealMethod().when(databaseMeta).getDisplayName();
    databaseMeta.setDatabaseInterface(odbm);
    databaseMeta.setName("test");

    List<DatabaseMeta> list = new ArrayList<DatabaseMeta>();
    list.add(databaseMeta);

    DatabaseMeta databaseMeta2 = mock(DatabaseMeta.class);
    OracleDatabaseMeta odbm2 = new OracleDatabaseMeta();
    doCallRealMethod().when(databaseMeta2).setDatabaseInterface(any(DatabaseInterface.class));
    doCallRealMethod().when(databaseMeta2).setName(anyString());
    doCallRealMethod().when(databaseMeta2).getName();
    doCallRealMethod().when(databaseMeta2).setDisplayName(anyString());
    doCallRealMethod().when(databaseMeta2).getDisplayName();
    doCallRealMethod()
        .when(databaseMeta2)
        .verifyAndModifyDatabaseName(any(ArrayList.class), anyString());
    databaseMeta2.setDatabaseInterface(odbm2);
    databaseMeta2.setName("test");

    databaseMeta2.verifyAndModifyDatabaseName(list, null);

    assertTrue(!databaseMeta.getDisplayName().equals(databaseMeta2.getDisplayName()));
  }