go for it!

http://people.apache.org/~simonetripodi/
http://twitter.com/simonetripodi


On Thu, Jun 13, 2013 at 9:54 PM, Benedikt Ritter <benerit...@gmail.com> wrote:
> I'm still not really satisfied, since the only thing thats different between 
> XmlConfigParserTestCase and XmlConfigParser2TestCase is the config location… 
> I'm thinking about using a parameterized test. This will work as long the two 
> config define exactly the same catalogs.
>
> WDYT?
>
> Benedikt
>
> Am 13.06.2013 um 21:50 schrieb brit...@apache.org:
>
>> Author: britter
>> Date: Thu Jun 13 19:50:01 2013
>> New Revision: 1492833
>>
>> URL: http://svn.apache.org/r1492833
>> Log:
>> Pull up common methods in abstract base class
>>
>> Added:
>>    
>> commons/proper/chain/trunk/configuration/xml/src/test/java/org/apache/commons/chain2/config/xml/AbstractXmlParserTest.java
>> Modified:
>>    
>> commons/proper/chain/trunk/configuration/xml/src/test/java/org/apache/commons/chain2/config/xml/XmlConfigParser2TestCase.java
>>    
>> commons/proper/chain/trunk/configuration/xml/src/test/java/org/apache/commons/chain2/config/xml/XmlConfigParserTestCase.java
>>    
>> commons/proper/chain/trunk/configuration/xml/src/test/resources/org/apache/commons/chain2/config/xml/test-config.xml
>>
>> Added: 
>> commons/proper/chain/trunk/configuration/xml/src/test/java/org/apache/commons/chain2/config/xml/AbstractXmlParserTest.java
>> URL: 
>> http://svn.apache.org/viewvc/commons/proper/chain/trunk/configuration/xml/src/test/java/org/apache/commons/chain2/config/xml/AbstractXmlParserTest.java?rev=1492833&view=auto
>> ==============================================================================
>> --- 
>> commons/proper/chain/trunk/configuration/xml/src/test/java/org/apache/commons/chain2/config/xml/AbstractXmlParserTest.java
>>  (added)
>> +++ 
>> commons/proper/chain/trunk/configuration/xml/src/test/java/org/apache/commons/chain2/config/xml/AbstractXmlParserTest.java
>>  Thu Jun 13 19:50:01 2013
>> @@ -0,0 +1,119 @@
>> +/*
>> + * 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.chain2.config.xml;
>> +
>> +import static org.junit.Assert.assertEquals;
>> +import static org.junit.Assert.assertNotNull;
>> +
>> +import java.net.URL;
>> +import java.util.Iterator;
>> +
>> +import org.apache.commons.chain2.Catalog;
>> +import org.apache.commons.chain2.CatalogFactory;
>> +import org.apache.commons.chain2.Context;
>> +import org.apache.commons.chain2.impl.CatalogBase;
>> +import org.apache.commons.chain2.impl.CatalogFactoryBase;
>> +import org.apache.commons.chain2.impl.ContextBase;
>> +import org.junit.After;
>> +import org.junit.Before;
>> +
>> +public abstract class AbstractXmlParserTest {
>> +
>> +    // ------------------------------------------------------ Instance 
>> Variables
>> +
>> +    /**
>> +     * <p>The <code>Catalog</code> to contain our configured commands.</p>
>> +     */
>> +    protected Catalog<String, Object, Context<String, Object>> catalog = 
>> null;
>> +
>> +    /**
>> +     * <p>The <code>Context</code> to use for execution tests.</p>
>> +     */
>> +    protected Context<String, Object> context = null;
>> +
>> +    /**
>> +     * <p>The <code>ConfigParser</code> instance under test.</p>
>> +     */
>> +    protected XmlConfigParser parser = null;
>> +
>> +
>> +    // ---------------------------------------------------- Overall Test 
>> Methods
>> +
>> +
>> +    /**
>> +     * Set up instance variables required by this test case.
>> +     */
>> +    @Before
>> +    public void setUp() {
>> +        CatalogFactory.clear();
>> +        catalog = new CatalogBase<String, Object, Context<String, 
>> Object>>();
>> +        context = new ContextBase();
>> +        parser = new XmlConfigParser();
>> +    }
>> +
>> +
>> +    /**
>> +     * Tear down instance variables required by this test case.
>> +     */
>> +    @After
>> +    public void tearDown() {
>> +        parser = null;
>> +        context = null;
>> +        catalog = null;
>> +    }
>> +
>> +
>> +    // --------------------------------------------------------- Private 
>> Methods
>> +
>> +
>> +    // Verify the number of configured commands
>> +    protected void checkCommandCount(int expected) {
>> +        int n = 0;
>> +        Iterator<String> names = catalog.getNames();
>> +        while (names.hasNext()) {
>> +            String name = names.next();
>> +            n++;
>> +            assertNotNull(name + " exists", catalog.getCommand(name));
>> +        }
>> +        assertEquals("Correct command count", expected, n);
>> +    }
>> +
>> +    // Verify the contents of the execution log
>> +    protected void checkExecuteLog(String expected) {
>> +        StringBuilder log = (StringBuilder) context.get("log");
>> +        assertNotNull("Context returned log", log);
>> +        assertEquals("Context returned correct log",
>> +                     expected, log.toString());
>> +    }
>> +
>> +    // Load the specified catalog from the specified resource path
>> +    protected void load(String path) throws Exception {
>> +        URL url = getClass().getResource(path);
>> +
>> +        if (url == null) {
>> +            String msg = String.format("Can't find resource for path: %s", 
>> path);
>> +            throw new IllegalArgumentException(msg);
>> +        }
>> +
>> +        parser.parse(url);
>> +        CatalogFactory<String, Object, Context<String, Object>> 
>> catalogFactory
>> +                = CatalogFactoryBase.getInstance();
>> +        catalog = catalogFactory.getCatalog("foo");
>> +    }
>> +
>> +}
>>
>> Modified: 
>> commons/proper/chain/trunk/configuration/xml/src/test/java/org/apache/commons/chain2/config/xml/XmlConfigParser2TestCase.java
>> URL: 
>> http://svn.apache.org/viewvc/commons/proper/chain/trunk/configuration/xml/src/test/java/org/apache/commons/chain2/config/xml/XmlConfigParser2TestCase.java?rev=1492833&r1=1492832&r2=1492833&view=diff
>> ==============================================================================
>> --- 
>> commons/proper/chain/trunk/configuration/xml/src/test/java/org/apache/commons/chain2/config/xml/XmlConfigParser2TestCase.java
>>  (original)
>> +++ 
>> commons/proper/chain/trunk/configuration/xml/src/test/java/org/apache/commons/chain2/config/xml/XmlConfigParser2TestCase.java
>>  Thu Jun 13 19:50:01 2013
>> @@ -50,58 +50,13 @@ import org.junit.Test;
>>  * for the commands and chains used in the test.</p>
>>  */
>>
>> -public class XmlConfigParser2TestCase {
>> +public class XmlConfigParser2TestCase extends AbstractXmlParserTest {
>>
>>
>>     private static final String DEFAULT_XML =
>>         "/org/apache/commons/chain2/config/xml/test-config-2.xml";
>>
>>
>> -    // ------------------------------------------------------ Instance 
>> Variables
>> -
>> -
>> -    /**
>> -     * <p>The <code>Catalog</code> to contain our configured commands.</p>
>> -     */
>> -    protected Catalog<String, Object, Context<String, Object>> catalog = 
>> null;
>> -
>> -
>> -    /**
>> -     * <p>The <code>Context</code> to use for execution tests.</p>
>> -     */
>> -    protected Context<String, Object> context = null;
>> -
>> -
>> -    /**
>> -     * <p>The <code>ConfigParser</code> instance under test.</p>
>> -     */
>> -    protected XmlConfigParser parser = null;
>> -
>> -
>> -    // ---------------------------------------------------- Overall Test 
>> Methods
>> -
>> -
>> -    /**
>> -     * Set up instance variables required by this test case.
>> -     */
>> -    @Before
>> -    public void setUp() {
>> -        catalog = new CatalogBase<String, Object, Context<String, 
>> Object>>();
>> -        context = new ContextBase();
>> -        parser = new XmlConfigParser();
>> -    }
>> -
>> -
>> -    /**
>> -     * Tear down instance variables required by this test case.
>> -     */
>> -    @After
>> -    public void tearDown() {
>> -        parser = null;
>> -        context = null;
>> -        catalog = null;
>> -    }
>> -
>>
>>     // ------------------------------------------------ Individual Test 
>> Methods
>>
>> @@ -313,38 +268,4 @@ public class XmlConfigParser2TestCase {
>>     }
>>
>>
>> -    // --------------------------------------------------------- Private 
>> Methods
>> -
>> -
>> -    // Verify the number of configured commands
>> -    protected void checkCommandCount(int expected) {
>> -        int n = 0;
>> -        Iterator<String> names = catalog.getNames();
>> -        while (names.hasNext()) {
>> -            String name = names.next();
>> -            n++;
>> -            assertNotNull(name + " exists", catalog.getCommand(name));
>> -        }
>> -        assertEquals("Correct command count", expected, n);
>> -    }
>> -
>> -
>> -    // Verify the contents of the execution log
>> -    protected void checkExecuteLog(String expected) {
>> -        StringBuilder log = (StringBuilder) context.get("log");
>> -        assertNotNull("Context returned log", log);
>> -        assertEquals("Context returned correct log",
>> -                     expected, log.toString());
>> -    }
>> -
>> -
>> -    // Load the specified catalog from the specified resource path
>> -    protected void load(String path) throws Exception {
>> -        parser.parse(getClass().getResource(path));
>> -        CatalogFactory<String, Object, Context<String, Object>> 
>> catalogFactory
>> -            = CatalogFactoryBase.getInstance();
>> -        catalog = catalogFactory.getCatalog("foo");
>> -    }
>> -
>> -
>> }
>>
>> Modified: 
>> commons/proper/chain/trunk/configuration/xml/src/test/java/org/apache/commons/chain2/config/xml/XmlConfigParserTestCase.java
>> URL: 
>> http://svn.apache.org/viewvc/commons/proper/chain/trunk/configuration/xml/src/test/java/org/apache/commons/chain2/config/xml/XmlConfigParserTestCase.java?rev=1492833&r1=1492832&r2=1492833&view=diff
>> ==============================================================================
>> --- 
>> commons/proper/chain/trunk/configuration/xml/src/test/java/org/apache/commons/chain2/config/xml/XmlConfigParserTestCase.java
>>  (original)
>> +++ 
>> commons/proper/chain/trunk/configuration/xml/src/test/java/org/apache/commons/chain2/config/xml/XmlConfigParserTestCase.java
>>  Thu Jun 13 19:50:01 2013
>> @@ -49,60 +49,13 @@ import org.junit.Test;
>>  * <p>Test Case for 
>> <code>org.apache.commons.chain2.config.ConfigParser</code>.</p>
>>  */
>>
>> -public class XmlConfigParserTestCase {
>> +public class XmlConfigParserTestCase extends AbstractXmlParserTest {
>>
>>
>>     private static final String DEFAULT_XML =
>>         "/org/apache/commons/chain2/config/xml/test-config.xml";
>>
>>
>> -    // ------------------------------------------------------ Instance 
>> Variables
>> -
>> -
>> -    /**
>> -     * <p>The <code>Catalog</code> to contain our configured commands.</p>
>> -     */
>> -    protected Catalog<String, Object, Context<String, Object>> catalog = 
>> null;
>> -
>> -
>> -    /**
>> -     * <p>The <code>Context</code> to use for execution tests.</p>
>> -     */
>> -    protected Context<String, Object> context = null;
>> -
>> -
>> -    /**
>> -     * <p>The <code>ConfigParser</code> instance under test.</p>
>> -     */
>> -    protected XmlConfigParser parser = null;
>> -
>> -
>> -    // ---------------------------------------------------- Overall Test 
>> Methods
>> -
>> -
>> -    /**
>> -     * Set up instance variables required by this test case.
>> -     */
>> -    @Before
>> -    public void setUp() {
>> -        CatalogFactory.clear();
>> -        catalog = new CatalogBase<String, Object, Context<String, 
>> Object>>();
>> -        context = new ContextBase();
>> -        parser = new XmlConfigParser();
>> -    }
>> -
>> -
>> -    /**
>> -     * Tear down instance variables required by this test case.
>> -     */
>> -    @After
>> -    public void tearDown() {
>> -        parser = null;
>> -        context = null;
>> -        catalog = null;
>> -    }
>> -
>> -
>>     // ------------------------------------------------ Individual Test 
>> Methods
>>
>>
>> @@ -313,45 +266,4 @@ public class XmlConfigParserTestCase {
>>     }
>>
>>
>> -    // --------------------------------------------------------- Private 
>> Methods
>> -
>> -
>> -    // Verify the number of configured commands
>> -    protected void checkCommandCount(int expected) {
>> -        int n = 0;
>> -        Iterator<String> names = catalog.getNames();
>> -        while (names.hasNext()) {
>> -            String name = names.next();
>> -            n++;
>> -            assertNotNull(name + " exists", catalog.getCommand(name));
>> -        }
>> -        assertEquals("Correct command count", expected, n);
>> -    }
>> -
>> -
>> -    // Verify the contents of the execution log
>> -    protected void checkExecuteLog(String expected) {
>> -        StringBuilder log = (StringBuilder) context.get("log");
>> -        assertNotNull("Context returned log", log);
>> -        assertEquals("Context returned correct log",
>> -                     expected, log.toString());
>> -    }
>> -
>> -
>> -    // Load the specified catalog from the specified resource path
>> -    protected void load(String path) throws Exception {
>> -        URL url = getClass().getResource(path);
>> -
>> -        if (url == null) {
>> -            String msg = String.format("Can't find resource for path: %s", 
>> path);
>> -            throw new IllegalArgumentException(msg);
>> -        }
>> -
>> -        parser.parse(url);
>> -        CatalogFactory<String, Object, Context<String, Object>> 
>> catalogFactory
>> -            = CatalogFactoryBase.getInstance();
>> -        catalog = catalogFactory.getCatalog();
>> -    }
>> -
>> -
>> }
>>
>> Modified: 
>> commons/proper/chain/trunk/configuration/xml/src/test/resources/org/apache/commons/chain2/config/xml/test-config.xml
>> URL: 
>> http://svn.apache.org/viewvc/commons/proper/chain/trunk/configuration/xml/src/test/resources/org/apache/commons/chain2/config/xml/test-config.xml?rev=1492833&r1=1492832&r2=1492833&view=diff
>> ==============================================================================
>> --- 
>> commons/proper/chain/trunk/configuration/xml/src/test/resources/org/apache/commons/chain2/config/xml/test-config.xml
>>  (original)
>> +++ 
>> commons/proper/chain/trunk/configuration/xml/src/test/resources/org/apache/commons/chain2/config/xml/test-config.xml
>>  Thu Jun 13 19:50:01 2013
>> @@ -14,7 +14,7 @@
>>    See the License for the specific language governing permissions and
>>    limitations under the License.
>> -->
>> -<catalog>
>> +<catalog name="foo">
>>
>>   <!-- Single command "chains" from CatalogBaseTestCase -->
>>   <command   name="AddingCommand"
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to