@Override public void run() { repeatedHelper.removeListener(removedRunnable); } }, executor);
private void removeListenerTest(Executor executor) { TestRunnable onceTR = new TestRunnable(); TestRunnable repeatedTR = new TestRunnable(); assertFalse(onceHelper.removeListener(onceTR)); assertFalse(repeatedHelper.removeListener(repeatedTR)); onceHelper.addListener(onceTR, executor); repeatedHelper.addListener(repeatedTR, executor); // should be false for the opposite assertFalse(onceHelper.removeListener(repeatedTR)); assertFalse(repeatedHelper.removeListener(onceTR)); assertTrue(onceHelper.removeListener(onceTR)); assertTrue(repeatedHelper.removeListener(repeatedTR)); }
@Test public void removeListenerAfterCallTest() { TestRunnable onceTR = new TestRunnable(); TestRunnable repeatedTR = new TestRunnable(); assertFalse(onceHelper.removeListener(onceTR)); assertFalse(repeatedHelper.removeListener(repeatedTR)); onceHelper.addListener(onceTR); repeatedHelper.addListener(repeatedTR); onceHelper.callListeners(); repeatedHelper.callListeners(); assertFalse(onceHelper.removeListener(onceTR)); assertTrue(repeatedHelper.removeListener(repeatedTR)); }
@Test public void getSubscribedListenersTest() { assertTrue(onceHelper.getSubscribedListeners().isEmpty()); TestRunnable tr = new TestRunnable(); onceHelper.addListener(tr); assertTrue(onceHelper.getSubscribedListeners().contains(tr)); onceHelper.removeListener(tr); assertTrue(onceHelper.getSubscribedListeners().isEmpty()); }