@Test
public void testPoolUtilExceptions() throws SQLException{

	Map<Object, Object> logParams = new LinkedHashMap<Object, Object>();
	logParams.put("1", "123");
	logParams.put("2", null);
	Blob mockBlob = createNiceMock(Blob.class);
	expect(mockBlob.length()).andThrow(new SQLException());
	replay(mockBlob);
	logParams.put("3", mockBlob);
	Clob mockClob = createNiceMock(Clob.class);
	expect(mockClob.length()).andThrow(new SQLException());
	replay(mockClob);
	logParams.put("4", mockClob);
	Array mockArray = createNiceMock(java.sql.Array.class);
	expect(mockArray.getBaseTypeName()).andThrow(new SQLException());
	replay(mockArray);
	logParams.put("5", mockArray);
	Ref mockSerialRef = createNiceMock(Ref.class);
	expect(mockSerialRef.getBaseTypeName()).andThrow(new SQLException());
	replay(mockSerialRef);
	logParams.put("6", mockSerialRef);
	// test proper replacement/escaping
	assertEquals("ID='123' AND FOO='?' and LALA=\"BOO\" NULL (blob of unknown length) (cblob of unknown length) (array of unknown type) (ref of unknown type) ?", PoolUtil.fillLogParams("ID=? AND FOO='?' and LALA=\"BOO\" ? ? ? ? ? ?", logParams));
}