Author: epugh
Date: Mon Nov 28 15:00:09 2005
New Revision: 349546

URL: http://svn.apache.org/viewcvs?rev=349546&view=rev
Log:
Move unit test over from Turbine.

Added:
    
jakarta/turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/BaseValueParserTest.java

Added: 
jakarta/turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/BaseValueParserTest.java
URL: 
http://svn.apache.org/viewcvs/jakarta/turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/BaseValueParserTest.java?rev=349546&view=auto
==============================================================================
--- 
jakarta/turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/BaseValueParserTest.java
 (added)
+++ 
jakarta/turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/BaseValueParserTest.java
 Mon Nov 28 15:00:09 2005
@@ -0,0 +1,622 @@
+package org.apache.fulcrum.parser;
+
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+
+import java.math.BigDecimal;
+
+import org.apache.fulcrum.testcontainer.BaseUnitTest;
+
+/**
+ * Testing of the BaseValueParser class
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Quinton McCombs</a>
+ * @version $Id: BaseValueParserTest.java 222043 2004-12-06 17:47:33Z painter $
+ */
+public class BaseValueParserTest extends BaseUnitTest
+{
+    public BaseValueParserTest(String arg0) {
+               super(arg0);
+               // TODO Auto-generated constructor stub
+       }
+
+       private BaseValueParser parser;
+
+
+
+    /**
+     * Performs any initialization that must happen before each test is run.
+     */
+    protected void setUp()
+    {
+        parser = new BaseValueParser();
+    }
+
+    /**
+     * Clean up after each test is run.
+     */
+    protected void tearDown()
+    {
+        parser = null;
+    }
+
+    public void testGetByte()
+    {
+        // no param
+        byte result = parser.getByte("invalid");
+        assertEquals(result, 0);
+
+        // default
+        result = parser.getByte("default", (byte)3);
+        assertEquals(result, 3);
+
+        // param exists
+        parser.add("exists", "1");
+        result = parser.getByte("exists");
+        assertEquals(result, 1);
+
+        // unparsable value
+        parser.add("unparsable", "a");
+        result = parser.getByte("unparsable");
+        assertEquals(result, 0);
+    }
+
+    public void testGetByteObject()
+    {
+        // no param
+        Byte result = parser.getByteObject("invalid");
+        assertNull(result);
+
+        // default
+        result = parser.getByteObject("default", new Byte((byte)3));
+        assertEquals(result, new Byte((byte)3));
+
+        // param exists
+        parser.add("exists", "1");
+        result = parser.getByteObject("exists");
+        assertEquals(result, new Byte((byte)1));
+
+        // unparsable value
+        parser.add("unparsable", "a");
+        result = parser.getByteObject("unparsable");
+        assertNull(result);
+    }
+
+    public void testGetInt()
+    {
+        // no param
+        int result = parser.getInt("invalid");
+        assertEquals(result, 0);
+
+        // default
+        result = parser.getInt("default", 3);
+        assertEquals(result, 3);
+
+        // param exists
+        parser.add("exists", "1");
+        result = parser.getInt("exists");
+        assertEquals(result, 1);
+
+        // unparsable value
+        parser.add("unparsable", "a");
+        result = parser.getInt("unparsable");
+        assertEquals(result, 0);
+
+        // array
+        parser.add("array", "1");
+        parser.add("array", "2");
+        parser.add("array", "3");
+        int arrayResult[] = parser.getInts("array");
+        int compare[] = {1,2,3};
+        assertEquals(arrayResult.length, compare.length);
+        for( int i=0; i<compare.length; i++)
+        {
+            assertEquals(compare[i], arrayResult[i]);
+        }
+
+        // array w/ unparsable element
+        parser.add("array2", "1");
+        parser.add("array2", "a");
+        parser.add("array2", "3");
+        int arrayResult2[] = parser.getInts("array2");
+        int compare2[] = {1,0,3};
+        assertEquals(arrayResult2.length, compare2.length);
+        for( int i=0; i<compare2.length; i++)
+        {
+            assertEquals(compare2[i], arrayResult2[i] );
+        }
+    }
+
+    public void testGetIntObject()
+    {
+        // no param
+        Integer result = parser.getIntObject("invalid");
+        assertNull(result);
+
+        // default
+        result = parser.getIntObject("default", new Integer(3));
+        assertEquals(result, new Integer(3));
+
+        // param exists
+        parser.add("exists", "1");
+        result = parser.getIntObject("exists");
+        assertEquals(result, new Integer(1));
+
+        // unparsable value
+        parser.add("unparsable", "a");
+        result = parser.getIntObject("unparsable");
+        assertNull(result);
+
+        // array
+        parser.add("array", "1");
+        parser.add("array", "2");
+        parser.add("array", "3");
+        Integer arrayResult[] = parser.getIntObjects("array");
+        Integer compare[] = {new Integer(1), new Integer(2), new Integer(3)};
+        assertEquals(arrayResult.length, compare.length);
+        for( int i=0; i<compare.length; i++)
+        {
+            assertEquals(compare[i], arrayResult[i]);
+        }
+
+        // array w/ unparsable element
+        parser.add("array2", "1");
+        parser.add("array2", "a");
+        parser.add("array2", "3");
+        Integer arrayResult2[] = parser.getIntObjects("array2");
+        Integer compare2[] = {new Integer(1), null, new Integer(3)};
+        assertEquals(arrayResult2.length, compare2.length);
+        for( int i=0; i<compare2.length; i++)
+        {
+            assertEquals(compare2[i], arrayResult2[i] );
+        }
+    }
+
+    public void testGetFloat()
+    {
+        // no param
+        float result = parser.getFloat("invalid");
+        assertEquals(result, 0, 0);
+
+        // default
+        result = parser.getFloat("default", 3);
+        assertEquals(result, 3, 0);
+
+        // param exists
+        parser.add("exists", "1");
+        result = parser.getFloat("exists");
+        assertEquals(result, 1, 0);
+
+        // unparsable value
+        parser.add("unparsable", "a");
+        result = parser.getFloat("unparsable");
+        assertEquals(result, 0, 0);
+
+        // array
+        parser.add("array", "1");
+        parser.add("array", "2");
+        parser.add("array", "3");
+        float arrayResult[] = parser.getFloats("array");
+        float compare[] = {1,2,3};
+        assertEquals(arrayResult.length, compare.length);
+        for( int i=0; i<compare.length; i++)
+        {
+            assertEquals(compare[i], arrayResult[i], 0);
+        }
+
+        // array w/ unparsable element
+        parser.add("array2", "1");
+        parser.add("array2", "a");
+        parser.add("array2", "3");
+        float arrayResult2[] = parser.getFloats("array2");
+        float compare2[] = {1,0,3};
+        assertEquals(arrayResult2.length, compare2.length);
+        for( int i=0; i<compare2.length; i++)
+        {
+            assertEquals(compare2[i], arrayResult2[i], 0);
+        }
+    }
+
+    public void testGetFloatObject()
+    {
+        // no param
+        Float result = parser.getFloatObject("invalid");
+        assertNull(result);
+
+        // default
+        result = parser.getFloatObject("default", new Float(3));
+        assertEquals(result, new Float(3));
+
+        // param exists
+        parser.add("exists", "1");
+        result = parser.getFloatObject("exists");
+        assertEquals(result, new Float(1));
+
+        // unparsable value
+        parser.add("unparsable", "a");
+        result = parser.getFloatObject("unparsable");
+        assertNull(result);
+
+        // array
+        parser.add("array", "1");
+        parser.add("array", "2");
+        parser.add("array", "3");
+        Float arrayResult[] = parser.getFloatObjects("array");
+        Float compare[] = {new Float(1), new Float(2), new Float(3)};
+        assertEquals(arrayResult.length, compare.length);
+        for( int i=0; i<compare.length; i++)
+        {
+            assertEquals(compare[i], arrayResult[i]);
+        }
+
+        // array w/ unparsable element
+        parser.add("array2", "1");
+        parser.add("array2", "a");
+        parser.add("array2", "3");
+        Float arrayResult2[] = parser.getFloatObjects("array2");
+        Float compare2[] = {new Float(1), null, new Float(3)};
+        assertEquals(arrayResult2.length, compare2.length);
+        for( int i=0; i<compare2.length; i++)
+        {
+            assertEquals(compare2[i], arrayResult2[i] );
+        }
+    }
+
+    public void testGetDouble()
+    {
+        // no param
+        double result = parser.getDouble("invalid");
+        assertEquals(result, 0, 0);
+
+        // default
+        result = parser.getDouble("default", 3);
+        assertEquals(result, 3, 0);
+
+        // param exists
+        parser.add("exists", "1");
+        result = parser.getDouble("exists");
+        assertEquals(result, 1, 0);
+
+        // unparsable value
+        parser.add("unparsable", "a");
+        result = parser.getDouble("unparsable");
+        assertEquals(result, 0, 0);
+
+        // array
+        parser.add("array", "1");
+        parser.add("array", "2");
+        parser.add("array", "3");
+        double arrayResult[] = parser.getDoubles("array");
+        double compare[] = {1,2,3};
+        assertEquals(arrayResult.length, compare.length);
+        for( int i=0; i<compare.length; i++)
+        {
+            assertEquals(compare[i], arrayResult[i], 0);
+        }
+
+        // array w/ unparsable element
+        parser.add("array2", "1");
+        parser.add("array2", "a");
+        parser.add("array2", "3");
+        double arrayResult2[] = parser.getDoubles("array2");
+        double compare2[] = {1,0,3};
+        assertEquals(arrayResult2.length, compare2.length);
+        for( int i=0; i<compare2.length; i++)
+        {
+            assertEquals(compare2[i], arrayResult2[i], 0);
+        }
+    }
+
+    public void testGetDoubleObject()
+    {
+        // no param
+        Double result = parser.getDoubleObject("invalid");
+        assertNull(result);
+
+        // default
+        result = parser.getDoubleObject("default", new Double(3));
+        assertEquals(result, new Double(3));
+
+        // param exists
+        parser.add("exists", "1");
+        result = parser.getDoubleObject("exists");
+        assertEquals(result, new Double(1));
+
+        // unparsable value
+        parser.add("unparsable", "a");
+        result = parser.getDoubleObject("unparsable");
+        assertNull(result);
+
+        // array
+        parser.add("array", "1");
+        parser.add("array", "2");
+        parser.add("array", "3");
+        Double arrayResult[] = parser.getDoubleObjects("array");
+        Double compare[] = {new Double(1), new Double(2), new Double(3)};
+        assertEquals(arrayResult.length, compare.length);
+        for( int i=0; i<compare.length; i++)
+        {
+            assertEquals(compare[i], arrayResult[i]);
+        }
+
+        // array w/ unparsable element
+        parser.add("array2", "1");
+        parser.add("array2", "a");
+        parser.add("array2", "3");
+        Double arrayResult2[] = parser.getDoubleObjects("array2");
+        Double compare2[] = {new Double(1), null, new Double(3)};
+        assertEquals(arrayResult2.length, compare2.length);
+        for( int i=0; i<compare2.length; i++)
+        {
+            assertEquals(compare2[i], arrayResult2[i] );
+        }
+    }
+
+    public void testGetLong()
+    {
+        // no param
+        long result = parser.getLong("invalid");
+        assertEquals(result, 0);
+
+        // default
+        result = parser.getLong("default", 3);
+        assertEquals(result, 3);
+
+        // param exists
+        parser.add("exists", "1");
+        result = parser.getLong("exists");
+        assertEquals(result, 1);
+
+        // unparsable value
+        parser.add("unparsable", "a");
+        result = parser.getLong("unparsable");
+        assertEquals(result, 0);
+
+        // array
+        parser.add("array", "1");
+        parser.add("array", "2");
+        parser.add("array", "3");
+        long arrayResult[] = parser.getLongs("array");
+        long compare[] = {1,2,3};
+        assertEquals(arrayResult.length, compare.length);
+        for( int i=0; i<compare.length; i++)
+        {
+            assertEquals(compare[i], arrayResult[i]);
+        }
+
+        // array w/ unparsable element
+        parser.add("array2", "1");
+        parser.add("array2", "a");
+        parser.add("array2", "3");
+        long arrayResult2[] = parser.getLongs("array2");
+        long compare2[] = {1,0,3};
+        assertEquals(arrayResult2.length, compare2.length);
+        for( int i=0; i<compare2.length; i++)
+        {
+            assertEquals(compare2[i], arrayResult2[i]);
+        }
+    }
+
+    public void testGetLongObject()
+    {
+        // no param
+        Long result = parser.getLongObject("invalid");
+        assertNull(result);
+
+        // default
+        result = parser.getLongObject("default", new Long(3));
+        assertEquals(result, new Long(3));
+
+        // param exists
+        parser.add("exists", "1");
+        result = parser.getLongObject("exists");
+        assertEquals(result, new Long(1));
+
+        // unparsable value
+        parser.add("unparsable", "a");
+        result = parser.getLongObject("unparsable");
+        assertNull(result);
+
+        // array
+        parser.add("array", "1");
+        parser.add("array", "2");
+        parser.add("array", "3");
+        Long arrayResult[] = parser.getLongObjects("array");
+        Long compare[] = {new Long(1), new Long(2), new Long(3)};
+        assertEquals(arrayResult.length, compare.length);
+        for( int i=0; i<compare.length; i++)
+        {
+            assertEquals(compare[i], arrayResult[i]);
+        }
+
+        // array w/ unparsable element
+        parser.add("array2", "1");
+        parser.add("array2", "a");
+        parser.add("array2", "3");
+        Long arrayResult2[] = parser.getLongObjects("array2");
+        Long compare2[] = {new Long(1), null, new Long(3)};
+        assertEquals(arrayResult2.length, compare2.length);
+        for( int i=0; i<compare2.length; i++)
+        {
+            assertEquals(compare2[i], arrayResult2[i] );
+        }
+    }
+
+    public void testGetBoolean()
+    {
+        // no param
+        boolean result = parser.getBoolean("invalid");
+        assertEquals(result, false);
+
+        // default
+        result = parser.getBoolean("default", true);
+        assertEquals(result, true);
+
+        // true values - Case is intentional
+        parser.add("true1", "trUe");
+        result = parser.getBoolean("true1");
+        assertEquals(result, true);
+        parser.add("true2", "yEs");
+        result = parser.getBoolean("true2");
+        assertEquals(result, true);
+        parser.add("true3", "1");
+        result = parser.getBoolean("true3");
+        assertEquals(result, true);
+        parser.add("true4", "oN");
+        result = parser.getBoolean("true4");
+        assertEquals(result, true);
+
+        // unparsable value
+        parser.add("unparsable", "a");
+        result = parser.getBoolean("unparsable");
+        assertEquals(result, false);
+
+    }
+
+    public void testGetBooleanObject()
+    {
+        // no param
+        Boolean result = parser.getBooleanObject("invalid");
+        assertNull(result);
+
+        // default
+        result = parser.getBooleanObject("default", Boolean.TRUE);
+        assertEquals(result, Boolean.TRUE);
+
+        // true values - Case is intentional
+        parser.add("true1", "trUe");
+        result = parser.getBooleanObject("true1");
+        assertEquals(result, Boolean.TRUE);
+        parser.add("true2", "yEs");
+        result = parser.getBooleanObject("true2");
+        assertEquals(result, Boolean.TRUE);
+        parser.add("true3", "1");
+        result = parser.getBooleanObject("true3");
+        assertEquals(result, Boolean.TRUE);
+        parser.add("true4", "oN");
+        result = parser.getBooleanObject("true4");
+        assertEquals(result, Boolean.TRUE);
+
+        // false values - Case is intentional
+        parser.add("false1", "falSe");
+        result = parser.getBooleanObject("false1");
+        assertEquals(result, Boolean.FALSE);
+        parser.add("false2", "nO");
+        result = parser.getBooleanObject("false2");
+        assertEquals(result, Boolean.FALSE);
+        parser.add("false3", "0");
+        result = parser.getBooleanObject("false3");
+        assertEquals(result, Boolean.FALSE);
+        parser.add("false4", "oFf");
+        result = parser.getBooleanObject("false4");
+        assertEquals(result, Boolean.FALSE);
+
+
+        // unparsable value
+        parser.add("unparsable", "a");
+        result = parser.getBooleanObject("unparsable");
+        assertNull(result);
+    }
+
+    public void OFFtestGetBigDecimal()
+    {
+        // no param
+        BigDecimal result = parser.getBigDecimal("invalid");
+        assertEquals(new BigDecimal(0), result);
+
+        // default
+        result = parser.getBigDecimal("default", new BigDecimal(3));
+        assertEquals(result, new BigDecimal(3));
+
+        // param exists
+        parser.add("exists", "1");
+        result = parser.getBigDecimal("exists");
+        assertEquals(result, new BigDecimal(1));
+
+        // unparsable value
+        parser.add("unparsable", "a");
+        result = parser.getBigDecimal("unparsable");
+        assertEquals(new BigDecimal(0), result);
+
+        // array
+        parser.add("array", "1");
+        parser.add("array", "2");
+        parser.add("array", "3");
+        BigDecimal arrayResult[] = parser.getBigDecimals("array");
+        BigDecimal compare[] = {new BigDecimal(1), new BigDecimal(2),
+                                new BigDecimal(3)};
+        assertEquals(arrayResult.length, compare.length);
+        for( int i=0; i<compare.length; i++)
+        {
+            assertEquals(compare[i], arrayResult[i]);
+        }
+
+        // array w/ unparsable element
+        parser.add("array2", "1");
+        parser.add("array2", "a");
+        parser.add("array2", "3");
+        BigDecimal arrayResult2[] = parser.getBigDecimals("array2");
+        BigDecimal compare2[] = {new BigDecimal(1), null, new BigDecimal(3)};
+        assertEquals(arrayResult2.length, compare2.length);
+        for( int i=0; i<compare2.length; i++)
+        {
+            assertEquals(compare2[i], arrayResult2[i] );
+        }
+    }
+
+
+    public void getString()
+    {
+        // no param
+        String result = parser.getString("invalid");
+        assertNull(result);
+
+        // default
+        result = parser.getString("default", "default");
+        assertEquals(result, "default");
+
+        // null value
+        parser.add("null", "null");
+        assertNull( parser.getString("null"));
+
+        // only return the first added
+        parser.add("multiple", "test");
+        parser.add("multiple", "test2");
+        assertEquals("test2", parser.getString("multiple"));
+
+        // array
+        parser.add("array", "line1");
+        parser.add("array", "line2");
+        parser.add("array", "line3");
+        String arrayResult[] = parser.getStrings("array");
+        String compare[] = {"line1","line2","line3"};
+        assertEquals(arrayResult.length, compare.length);
+        for( int i=0; i<compare.length; i++)
+        {
+            assertEquals(compare[i], arrayResult[i]);
+        }
+
+    }
+    
+    public void testRecycling() throws Exception {
+               parser.setCharacterEncoding("fake");
+               parser.recycle();
+               assertEquals("US-ASCII",parser.getCharacterEncoding());
+    }
+
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to