EventListener<ConfigurationEvent> l1 = new EventListenerTestImpl(null);
EventListener<ConfigurationEvent> l2 = new EventListenerTestImpl(null);
BuilderConfigurationWrapperFactory factory =
new BuilderConfigurationWrapperFactory(
EventSourceSupport.BUILDER);
EventSource src =
(EventSource) factory.createBuilderConfigurationWrapper(
Configuration.class, builder);
src.addEventListener(ConfigurationEvent.ANY, l1);
src.addEventListener(ConfigurationEvent.ANY_HIERARCHICAL, l2);
assertTrue(
"Wrong result for existing listener",
src.removeEventListener(ConfigurationEvent.ANY_HIERARCHICAL, l2));
assertFalse(
"Wrong result for non-existing listener",
src.removeEventListener(ConfigurationEvent.ANY_HIERARCHICAL, l2));
PropertiesConfiguration config = builder.getConfiguration();
Collection<EventListener<? super ConfigurationEvent>> listeners =
config.getEventListeners(ConfigurationEvent.ANY_HIERARCHICAL);
assertTrue("Registered listener not found", listeners.contains(l1));
assertFalse("Removed listener still found", listeners.contains(l2));