@Override public boolean isEquivalentTo(@Nullable EventHandler other) { if (this == other) { return true; } if (other == null) { return false; } if (other.getClass() != getClass()) { return false; } DelegatingEventHandler otherDelegating = (DelegatingEventHandler) other; return mEventHandler1.isEquivalentTo(otherDelegating.mEventHandler1) && mEventHandler2.isEquivalentTo(otherDelegating.mEventHandler2); } }
@Test public void testIsEquivalentToNormalEventHandler() { EventHandler<Object> eventHandler1 = new DelegatingEventHandler<>(mEventHandler1, mEventHandler2); assertThat(eventHandler1.isEquivalentTo(mEventHandler1)).isFalse(); assertThat(mEventHandler1.isEquivalentTo(eventHandler1)).isFalse(); }
case Comparable.EVENT_HANDLER_IN_PARAMETERIZED_TYPE: if (val1 != null ? !((EventHandler) val1).isEquivalentTo((EventHandler) val2) : val2 != null) { return false;
@Test public void testIsEquivalentToWithOneNullParams() { EventHandler eventHandler1 = new EventHandler(mHasEventDispatcher, 1); EventHandler eventHandler2 = new EventHandler(mHasEventDispatcher, 1, new Object[0]); assertThat(eventHandler1.isEquivalentTo(eventHandler2)).isFalse(); assertThat(eventHandler2.isEquivalentTo(eventHandler1)).isFalse(); }
@Test public void testIsEquivalentToWithBothNullParams() { EventHandler eventHandler1 = new EventHandler(mHasEventDispatcher, 1); EventHandler eventHandler2 = new EventHandler(mHasEventDispatcher, 1); assertThat(eventHandler1.isEquivalentTo(eventHandler2)).isTrue(); assertThat(eventHandler2.isEquivalentTo(eventHandler1)).isTrue(); }
@Test public void testIsEquivalentToWithSameUnderlyingHandlers() { EventHandler<Object> eventHandler1 = new DelegatingEventHandler<>(mEventHandler1, mEventHandler2); EventHandler<Object> eventHandler2 = new DelegatingEventHandler<>(mEventHandler1, mEventHandler2); assertThat(eventHandler1.isEquivalentTo(eventHandler2)).isTrue(); assertThat(eventHandler2.isEquivalentTo(eventHandler1)).isTrue(); }
@Test public void testIsEquivalentToFirstParamCanBeDifferent() { EventHandler eventHandler1 = new EventHandler(mHasEventDispatcher, 1, new Object[] {1, 2, 3}); EventHandler eventHandler2 = new EventHandler(mHasEventDispatcher, 1, new Object[] {2, 2, 3}); assertThat(eventHandler1.isEquivalentTo(eventHandler2)).isTrue(); assertThat(eventHandler2.isEquivalentTo(eventHandler1)).isTrue(); } }
@Test public void testIsEquivalentToWithDifferentUnderlyingHandlers() { EventHandler<Object> eventHandler1 = new DelegatingEventHandler<>(mEventHandler1, mEventHandler2); EventHandler<Object> eventHandler2 = new DelegatingEventHandler<>(mEventHandler2, mEventHandler1); assertThat(eventHandler1.isEquivalentTo(eventHandler2)).isFalse(); assertThat(eventHandler2.isEquivalentTo(eventHandler1)).isFalse(); } }
@Test public void testIsEquivalentToWithDifferentLengthParams() { EventHandler eventHandler1 = new EventHandler(mHasEventDispatcher, 1, new Object[] {1, 2, 3}); EventHandler eventHandler2 = new EventHandler(mHasEventDispatcher, 1, new Object[] {1, 2}); assertThat(eventHandler1.isEquivalentTo(eventHandler2)).isFalse(); assertThat(eventHandler2.isEquivalentTo(eventHandler1)).isFalse(); }
@Test public void testIsEquivalentToWithDifferentIds() { EventHandler eventHandler1 = new EventHandler(mHasEventDispatcher, 1); EventHandler eventHandler2 = new EventHandler(mHasEventDispatcher, 2); assertThat(eventHandler1.isEquivalentTo(eventHandler2)).isFalse(); assertThat(eventHandler2.isEquivalentTo(eventHandler1)).isFalse(); }
@Test public void testIsEquivalentToWithDifferentParams() { EventHandler eventHandler1 = new EventHandler(mHasEventDispatcher, 1, new Object[] {1, 2, 3}); EventHandler eventHandler2 = new EventHandler(mHasEventDispatcher, 1, new Object[] {1, 3, 3}); assertThat(eventHandler1.isEquivalentTo(eventHandler2)).isFalse(); assertThat(eventHandler2.isEquivalentTo(eventHandler1)).isFalse(); }
@Test public void testIsEquivalentToWithItself() { EventHandler<Object> eventHandler = new DelegatingEventHandler<>(mEventHandler1, mEventHandler2); assertThat(eventHandler.isEquivalentTo(eventHandler)).isTrue(); }
@Test public void testIsEquivalentToWithNull() { EventHandler<Object> eventHandler = new DelegatingEventHandler<>(mEventHandler1, mEventHandler2); assertThat(eventHandler.isEquivalentTo(null)).isFalse(); }
@Test public void testIsEquivalentToWithNullHandler() { EventHandler eventHandler = new EventHandler(mHasEventDispatcher, 1); assertThat(eventHandler.isEquivalentTo(null)).isFalse(); }
@Test public void testIsEquivalentToWithSameHandler() { EventHandler eventHandler = new EventHandler(mHasEventDispatcher, 1); assertThat(eventHandler.isEquivalentTo(eventHandler)).isTrue(); }