public void testRemoveListener() { EventMulticaster<Integer> multicaster = new CachingEventMulticasterImpl<Integer>(); IntListener intListener = new IntListener(); multicaster.addListener(intListener); assertEquals(0, intListener.value); assertEquals(0, intListener.notifications); multicaster = new CachingEventMulticasterImpl<Integer>(); intListener = new IntListener(); multicaster.broadcast(5); multicaster.addListener(intListener); assertEquals(5, intListener.value); assertEquals(1, intListener.notifications); multicaster.removeListener(intListener); multicaster.broadcast(10); assertEquals(5, intListener.value); assertEquals(1, intListener.notifications); }