@Override public void call(int i, String s) { super.call(i, s); ch.removeListener(removedListener); } };
private void removeListenerTest(Executor executor) { ListenerHelper<TestInterface> ch = makeListenerHelper(TestInterface.class); TestImp ti = new TestImp(); assertFalse(ch.removeListener(null)); ch.addListener(ti, executor); assertFalse(ch.removeListener(null)); assertFalse(ch.removeListener(new TestImp())); assertEquals(1, ch.registeredListenerCount()); assertTrue(ch.removeListener(ti)); assertEquals(0, ch.registeredListenerCount()); ch.call().call(10, StringUtils.makeRandomString(10)); // verify not called assertNull(ti.lastString); }
@Test public void getSubscribedListenersTest() { ListenerHelper<TestInterface> lh = makeListenerHelper(TestInterface.class); assertTrue(lh.getSubscribedListeners().isEmpty()); TestImp ti = new TestImp(); lh.addListener(ti); assertTrue(lh.getSubscribedListeners().contains(ti)); lh.removeListener(ti); assertTrue(lh.getSubscribedListeners().isEmpty()); }