PeerDataPk implements Serializable { @Override public boolean equals( Object obj ) { if ( obj instanceof PeerDataPk ) { PeerDataPk ppk = ( PeerDataPk ) obj; return ppk.getId().equals( this.id ) && ppk.getSource().equals( this.source ); } return false; } PeerDataPk(); String getId(); void setId( final String id ); String getSource(); void setSource( final String source ); @Override boolean equals( Object obj ); @Override int hashCode();  }
@Test public void testEquals() throws Exception { PeerDataPk peerDataPk2 = new PeerDataPk(); peerDataPk2.setId( ID ); peerDataPk2.setSource( SOURCE ); peerDataPk.setId( ID ); peerDataPk.setSource( SOURCE ); assertEquals( peerDataPk2, peerDataPk ); PeerDataPk peerDataPk3 = new PeerDataPk(); peerDataPk3.setId( ID2 ); peerDataPk3.setSource( SOURCE ); assertThat( peerDataPk3, not( peerDataPk ) ); PeerDataPk peerDataPk4 = new PeerDataPk(); peerDataPk4.setId( ID ); peerDataPk4.setSource( SOURCE2 ); assertThat( peerDataPk4, not( peerDataPk ) ); assertFalse( peerDataPk.equals( new Object() ) ); }