@Test
public void testGetSetDatabase() throws Exception {
assertEquals( 0, meta.nrDatabases() );
assertNull( meta.getDatabases() );
assertFalse( meta.haveConnectionsChanged() );
meta.clear();
assertTrue( meta.getDatabases().isEmpty() );
assertEquals( 0, meta.nrDatabases() );
assertFalse( meta.haveConnectionsChanged() );
DatabaseMeta db1 = mock( DatabaseMeta.class );
when( db1.getDisplayName() ).thenReturn( "db1" );
meta.addDatabase( db1 );
assertEquals( 1, meta.nrDatabases() );
assertFalse( meta.getDatabases().isEmpty() );
assertTrue( meta.haveConnectionsChanged() );
when( db2.getDisplayName() ).thenReturn( "db2" );
meta.addDatabase( db2 );
assertEquals( 2, meta.nrDatabases() );
assertEquals( 2, meta.nrDatabases() );
meta.addOrReplaceDatabase( db1 );
assertEquals( 2, meta.nrDatabases() );
assertEquals( 2, meta.nrDatabases() );
DatabaseMeta db3 = mock( DatabaseMeta.class );
when( db3.getName() ).thenReturn( "db3" );
meta.addDatabase( db3, false );
assertEquals( 3, meta.nrDatabases() );