@Test 
	public void testDatabasePool() throws Exception
	{
		//test normal operation
		DataConnectionPool dcp = new DataConnectionPool(1, driver, database, login, password);
		dcp.getConnectionWrapper().commitAndDiscard();
		dcp.getConnectionWrapper().rollbackAndDiscard();
		//get several connection wrappers
		ConnectionWrapper cw1 = dcp.getConnectionWrapper();
		ConnectionWrapper cw2 = dcp.getConnectionWrapper();
		ConnectionWrapper cw3 = dcp.getConnectionWrapper();
		assertNotNull(cw1);
		assertNotNull(cw2);
		assertNotNull(cw3);
		assertTrue(cw1.isTaken());
		cw1.discard();
		assertFalse(cw1.isTaken());
		dcp.cleanUp();
		assertTrue(cw1.isTaken());
		
		//test exceptions
		boolean thrown = false;
		try
		{
			dcp = new DataConnectionPool(1,driver,null,login,password);
			dcp.cleanUp();
		}
		catch(SQLException e)
		{
			thrown = true;
		}
		assertTrue("No exception thrown on null database.",thrown);
		thrown = false;
		try
		{
			dcp = new DataConnectionPool(1,"completely fake driver",database,login,password);
			dcp.cleanUp();
		}
		catch(SQLException e)
		{
			thrown = true;
		}
		assertTrue("No exception thrown on fake database.",thrown);
	}