You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by oh...@apache.org on 2011/04/08 11:07:26 UTC
svn commit: r1090164 - in
/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/event:
AbstractTestConfigurationEvents.java ConfigurationListenerTestImpl.java
Author: oheger
Date: Fri Apr 8 09:07:25 2011
New Revision: 1090164
URL: http://svn.apache.org/viewvc?rev=1090164&view=rev
Log:
Made test configuration listener implementation a top-level type so that it can be used by other test classes, too.
Added:
commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/event/ConfigurationListenerTestImpl.java (with props)
Modified:
commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/event/AbstractTestConfigurationEvents.java
Modified: commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/event/AbstractTestConfigurationEvents.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/event/AbstractTestConfigurationEvents.java?rev=1090164&r1=1090163&r2=1090164&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/event/AbstractTestConfigurationEvents.java (original)
+++ commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/event/AbstractTestConfigurationEvents.java Fri Apr 8 09:07:25 2011
@@ -16,14 +16,11 @@
*/
package org.apache.commons.configuration.event;
-import java.util.LinkedList;
-
-import org.apache.commons.configuration.AbstractConfiguration;
-import org.apache.commons.configuration.event.ConfigurationEvent;
-import org.apache.commons.configuration.event.ConfigurationListener;
import junit.framework.TestCase;
+import org.apache.commons.configuration.AbstractConfiguration;
+
/**
* Base class for testing events generated by configuration classes derived from
* AbstractConfiguration. This class implements a couple of tests related to
@@ -51,14 +48,14 @@ public abstract class AbstractTestConfig
protected AbstractConfiguration config;
/** A test event listener. */
- protected TestConfigurationListener l;
+ protected ConfigurationListenerTestImpl l;
protected void setUp() throws Exception
{
super.setUp();
config = createConfiguration();
config.addProperty(EXIST_PROPERTY, "existing value");
- l = new TestConfigurationListener();
+ l = new ConfigurationListenerTestImpl(config);
config.addConfigurationListener(l);
}
@@ -181,89 +178,4 @@ public abstract class AbstractTestConfig
l.checkEvent(AbstractConfiguration.EVENT_CLEAR, null, null, false);
l.done();
}
-
- /**
- * A test event listener class used for testing events generated by the
- * configuration.
- */
- protected class TestConfigurationListener implements ConfigurationListener
- {
- /** Stores the received events. */
- private LinkedList events = new LinkedList();
-
- public void configurationChanged(ConfigurationEvent event)
- {
- events.add(event);
- }
-
- /**
- * Checks if at least <code>minEvents</code> events have been
- * received.
- *
- * @param minEvents the minimum number of expected events
- */
- public void checkEventCount(int minEvents)
- {
- assertTrue("Too view events received", events.size() >= minEvents);
- }
-
- /**
- * Checks an expected event.
- *
- * @param type the event type
- * @param propName the expected property name
- * @param propValue the expected property value
- * @param before the expected before flag
- */
- public void checkEvent(int type, String propName, Object propValue,
- boolean before)
- {
- ConfigurationEvent e = nextEvent(type);
- assertEquals("Wrong property name", propName, e.getPropertyName());
- assertEquals("Wrong property value", propValue, e
- .getPropertyValue());
- assertEquals("Wrong before flag", before, e.isBeforeUpdate());
- }
-
- /**
- * Returns the next received event and checks for the expected type.
- * This method can be used instead of <code>checkEvent()</code> for
- * comparing complex event values.
- * @param expectedType the expected type of the event
- * @return the event object
- */
- public ConfigurationEvent nextEvent(int expectedType)
- {
- assertFalse("Too few events received", events.isEmpty());
- ConfigurationEvent e = (ConfigurationEvent) events.removeFirst();
- assertEquals("Wrong event source", config, e.getSource());
- assertEquals("Wrong event type", expectedType, e.getType());
- return e;
- }
-
- /**
- * Skips to the last received event and checks that no events of the
- * given type have been received. This method is used by checks for
- * detail events to ignore the detail events.
- *
- * @param type the event type
- */
- public void skipToLast(int type)
- {
- while (events.size() > 1)
- {
- ConfigurationEvent e = (ConfigurationEvent) events
- .removeFirst();
- assertTrue("Found end event in details", type != e.getType());
- }
- }
-
- /**
- * Checks if all events has been processed.
- */
- public void done()
- {
- assertTrue("Too many events received", events.isEmpty());
- }
- }
}
Added: commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/event/ConfigurationListenerTestImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/event/ConfigurationListenerTestImpl.java?rev=1090164&view=auto
==============================================================================
--- commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/event/ConfigurationListenerTestImpl.java (added)
+++ commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/event/ConfigurationListenerTestImpl.java Fri Apr 8 09:07:25 2011
@@ -0,0 +1,136 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.configuration.event;
+
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * A test event listener class that can be used for testing whether
+ * configurations generated correct events.
+ *
+ * @author <a
+ * href="http://commons.apache.org/configuration/team-list.html">Commons
+ * Configuration team</a>
+ * @version $Id$
+ */
+public class ConfigurationListenerTestImpl implements ConfigurationListener
+{
+ /** The expected event source. */
+ private final Object expectedSource;
+
+ /** Stores the received events. */
+ private final List events;
+
+ /**
+ * Creates a new instance of {@code ConfigurationListenerTestImpl} and sets
+ * the expected event source.
+ *
+ * @param source the event source (<b>null</b> if the source need not to be
+ * checked)
+ */
+ public ConfigurationListenerTestImpl(Object source)
+ {
+ expectedSource = source;
+ events = new LinkedList();
+ }
+
+ public void configurationChanged(ConfigurationEvent event)
+ {
+ events.add(event);
+ }
+
+ /**
+ * Checks if at least <code>minEvents</code> events have been received.
+ *
+ * @param minEvents the minimum number of expected events
+ */
+ public void checkEventCount(int minEvents)
+ {
+ AbstractTestConfigurationEvents.assertTrue("Too view events received",
+ events.size() >= minEvents);
+ }
+
+ /**
+ * Checks an expected event.
+ *
+ * @param type the event type
+ * @param propName the expected property name
+ * @param propValue the expected property value
+ * @param before the expected before flag
+ */
+ public void checkEvent(int type, String propName, Object propValue,
+ boolean before)
+ {
+ ConfigurationEvent e = nextEvent(type);
+ AbstractTestConfigurationEvents.assertEquals("Wrong property name",
+ propName, e.getPropertyName());
+ AbstractTestConfigurationEvents.assertEquals("Wrong property value",
+ propValue, e.getPropertyValue());
+ AbstractTestConfigurationEvents.assertEquals("Wrong before flag",
+ before, e.isBeforeUpdate());
+ }
+
+ /**
+ * Returns the next received event and checks for the expected type. This
+ * method can be used instead of <code>checkEvent()</code> for comparing
+ * complex event values.
+ *
+ * @param expectedType the expected type of the event
+ * @return the event object
+ */
+ public ConfigurationEvent nextEvent(int expectedType)
+ {
+ AbstractTestConfigurationEvents.assertFalse("Too few events received",
+ events.isEmpty());
+ ConfigurationEvent e = (ConfigurationEvent) events.remove(0);
+ if (expectedSource != null)
+ {
+ AbstractTestConfigurationEvents.assertEquals("Wrong event source",
+ expectedSource, e.getSource());
+ }
+ AbstractTestConfigurationEvents.assertEquals("Wrong event type",
+ expectedType, e.getType());
+ return e;
+ }
+
+ /**
+ * Skips to the last received event and checks that no events of the given
+ * type have been received. This method is used by checks for detail events
+ * to ignore the detail events.
+ *
+ * @param type the event type
+ */
+ public void skipToLast(int type)
+ {
+ while (events.size() > 1)
+ {
+ ConfigurationEvent e = (ConfigurationEvent) events.remove(0);
+ AbstractTestConfigurationEvents.assertTrue(
+ "Found end event in details", type != e.getType());
+ }
+ }
+
+ /**
+ * Checks if all events has been processed.
+ */
+ public void done()
+ {
+ AbstractTestConfigurationEvents.assertTrue("Too many events received",
+ events.isEmpty());
+ }
+}
Propchange: commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/event/ConfigurationListenerTestImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/event/ConfigurationListenerTestImpl.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/event/ConfigurationListenerTestImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain