@Test public void testGetObjectInstance() throws Exception { config.setAcquireIncrement(5); config.setMinConnectionsPerPartition(30); config.setMaxConnectionsPerPartition(100); config.setPartitionCount(1); Reference mockRef = createNiceMock(Reference.class); Enumeration<RefAddr> mockEnum = createNiceMock(Enumeration.class); RefAddr mockRefAddr = createNiceMock(RefAddr.class); expect(mockRef.getAll()).andReturn(mockEnum).anyTimes(); expect(mockEnum.hasMoreElements()).andReturn(true).times(2); expect(mockEnum.nextElement()).andReturn(mockRefAddr).anyTimes(); expect(mockRefAddr.getType()) .andReturn("driverClassName") .once() .andReturn("password") .times(2); expect(mockRefAddr.getContent()) .andReturn("com.jolbox.bonecp.MockJDBCDriver") .once() .andReturn("abcdefgh") .once(); replay(mockRef, mockEnum, mockRefAddr); BoneCPDataSource dsb = new BoneCPDataSource(); BoneCPDataSource result = (BoneCPDataSource) dsb.getObjectInstance(mockRef, null, null, null); assertEquals("abcdefgh", result.getPassword()); verify(mockRef, mockEnum, mockRefAddr); }