public void listener_mapped_twice_and_removed_once_doesnt_fire() { eventMap.MapListener(eventDispatcher, CustomEvent.Type.STARTED, (Action <IEvent>)listenerWithCounter, typeof(CustomEvent)); eventMap.MapListener(eventDispatcher, CustomEvent.Type.STARTED, (Action <IEvent>)listenerWithCounter, typeof(CustomEvent)); eventMap.UnmapListener(eventDispatcher, CustomEvent.Type.STARTED, (Action <IEvent>)listenerWithCounter, typeof(CustomEvent)); eventDispatcher.Dispatch(new CustomEvent(CustomEvent.Type.STARTED)); Assert.That(listenerExecutedCount, Is.EqualTo(0)); }