public void testObjectMethods() throws Exception { keyedObjectPoolMock.returnObject(DirContextType.READ_ONLY, contextMock); keyedObjectPoolControl.setVoidCallable(1); replay(); // Wrap the Context once final DelegatingContext delegatingContext = new DelegatingContext(keyedObjectPoolMock, contextMock, DirContextType.READ_ONLY); assertEquals("EasyMock for interface javax.naming.Context", delegatingContext.toString()); delegatingContext.hashCode(); // Run it to make sure it doesn't fail assertTrue(delegatingContext.equals(delegatingContext)); assertFalse(delegatingContext.equals(new Object())); final DelegatingContext delegatingContext2 = new DelegatingContext(keyedObjectPoolMock, contextMock, DirContextType.READ_ONLY); assertTrue(delegatingContext.equals(delegatingContext2)); assertTrue(delegatingContext2.equals(delegatingContext)); assertTrue(delegatingContext.equals(contextMock)); // Close the contextMock and try again delegatingContext.close(); assertEquals("Context is closed", delegatingContext.toString()); assertEquals(0, delegatingContext.hashCode()); // Run it to make sure // it doesn't fail assertTrue(delegatingContext.equals(delegatingContext)); assertFalse(delegatingContext.equals(new Object())); assertFalse(delegatingContext.equals(delegatingContext2)); assertFalse(delegatingContext2.equals(delegatingContext)); assertFalse(delegatingContext.equals(contextMock)); verify(); }