package net.pterodactylus.sone.freenet.wot.event; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.not; import static org.mockito.Mockito.mock; import net.pterodactylus.sone.freenet.wot.Identity; import net.pterodactylus.sone.freenet.wot.OwnIdentity; import org.junit.Test; /** * Unit test for {@link IdentityEvent}. * * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a> */ public class IdentityEventTest { private final OwnIdentity ownIdentity = mock(OwnIdentity.class); private final Identity identity = mock(Identity.class); private final IdentityEvent identityEvent = createIdentityEvent(ownIdentity, identity); private IdentityEvent createIdentityEvent(final OwnIdentity ownIdentity, final Identity identity) { return new IdentityEvent(ownIdentity, identity) { }; } @Test public void identityEventRetainsIdentities() { assertThat(identityEvent.ownIdentity(), is(ownIdentity)); assertThat(identityEvent.identity(), is(identity)); } @Test public void eventsWithTheSameIdentityHaveTheSameHashCode() { IdentityEvent secondIdentityEvent = createIdentityEvent(ownIdentity, identity); assertThat(identityEvent.hashCode(), is(secondIdentityEvent.hashCode())); } @Test public void eventsWithTheSameIdentitiesAreEqual() { IdentityEvent secondIdentityEvent = createIdentityEvent(ownIdentity, identity); assertThat(identityEvent, is(secondIdentityEvent)); assertThat(secondIdentityEvent, is(identityEvent)); } @Test public void nullDoesNotEqualIdentityEvent() { assertThat(identityEvent, not(is((Object) null))); } }