glens       2002/11/14 03:57:13

  Modified:    src/testcases/org/apache/poi/util TestStringUtil.java
  Log:
  Nothing to see here
  
  Revision  Changes    Path
  1.7       +360 -366  
jakarta-poi/src/testcases/org/apache/poi/util/TestStringUtil.java
  
  Index: TestStringUtil.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-poi/src/testcases/org/apache/poi/util/TestStringUtil.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- TestStringUtil.java       8 Nov 2002 02:34:08 -0000       1.6
  +++ TestStringUtil.java       14 Nov 2002 11:57:13 -0000      1.7
  @@ -1,366 +1,360 @@
  -
  -/* ====================================================================
  - * The Apache Software License, Version 1.1
  - *
  - * Copyright (c) 2002 The Apache Software Foundation.  All rights
  - * reserved.
  - *
  - * Redistribution and use in source and binary forms, with or without
  - * modification, are permitted provided that the following conditions
  - * are met:
  - *
  - * 1. Redistributions of source code must retain the above copyright
  - *    notice, this list of conditions and the following disclaimer.
  - *
  - * 2. Redistributions in binary form must reproduce the above copyright
  - *    notice, this list of conditions and the following disclaimer in
  - *    the documentation and/or other materials provided with the
  - *    distribution.
  - *
  - * 3. The end-user documentation included with the redistribution,
  - *    if any, must include the following acknowledgment:
  - *       "This product includes software developed by the
  - *        Apache Software Foundation (http://www.apache.org/)."
  - *    Alternately, this acknowledgment may appear in the software itself,
  - *    if and wherever such third-party acknowledgments normally appear.
  - *
  - * 4. The names "Apache" and "Apache Software Foundation" and
  - *    "Apache POI" must not be used to endorse or promote products
  - *    derived from this software without prior written permission. For
  - *    written permission, please contact [EMAIL PROTECTED]
  - *
  - * 5. Products derived from this software may not be called "Apache",
  - *    "Apache POI", nor may "Apache" appear in their name, without
  - *    prior written permission of the Apache Software Foundation.
  - *
  - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  - * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  - * SUCH DAMAGE.
  - * ====================================================================
  - *
  - * This software consists of voluntary contributions made by many
  - * individuals on behalf of the Apache Software Foundation.  For more
  - * information on the Apache Software Foundation, please see
  - * <http://www.apache.org/>.
  - */
  -
  -package org.apache.poi.util;
  -
  -import junit.framework.*;
  -
  -import java.text.NumberFormat;
  -
  -/**
  - * Unit test for StringUtil
  - *
  - * @author  Marc Johnson (mjohnson at apache dot org
  - * @author  Glen Stampoultzis (glens at apache.org)
  - * @author  Sergei Kozello (sergeikozello at mail.ru)
  - */
  -
  -public class TestStringUtil
  -    extends TestCase
  -{
  -
  -    /**
  -     * Creates new TestStringUtil
  -     *
  -     * @param name
  -     */
  -
  -    public TestStringUtil(String name)
  -    {
  -        super(name);
  -    }
  -
  -    /**
  -     * test simple form of getFromUnicode
  -     */
  -
  -    public void testSimpleGetFromUnicode()
  -    {
  -        byte[] test_data = new byte[ 32 ];
  -        int    index     = 0;
  -
  -        for (int k = 0; k < 16; k++)
  -        {
  -            test_data[ index++ ] = ( byte ) 0;
  -            test_data[ index++ ] = ( byte ) ('a' + k);
  -        }
  -        assertEquals("abcdefghijklmnop",
  -                     StringUtil.getFromUnicode(test_data));
  -    }
  -
  -    /**
  -     * test simple form of getFromUnicode with symbols with code below and more 127
  -     */
  -
  -    public void testGetFromUnicodeSymbolsWithCodesMoreThan127()
  -    {
  -        byte[] test_data = new byte[] {   0x04, 0x22,
  -                                          0x04, 0x35,
  -                                          0x04, 0x41,
  -                                          0x04, 0x42,
  -                                          0x00, 0x20,
  -                                          0x00, 0x74,
  -                                          0x00, 0x65,
  -                                          0x00, 0x73,
  -                                          0x00, 0x74,
  -                                          };
  -
  -        assertEquals("\u0422\u0435\u0441\u0442 test",
  -                     StringUtil.getFromUnicode(test_data));
  -    }
  -
  -    /**
  -     * test getFromUnicodeHigh for symbols with code below and more 127
  -     */
  -
  -    public void testGetFromUnicodeHighSymbolsWithCodesMoreThan127()
  -    {
  -        byte[] test_data = new byte[] {   0x22, 0x04,
  -                                          0x35, 0x04,
  -                                          0x41, 0x04,
  -                                          0x42, 0x04,
  -                                          0x20, 0x00,
  -                                          0x74, 0x00,
  -                                          0x65, 0x00,
  -                                          0x73, 0x00,
  -                                          0x74, 0x00,
  -                                          };
  -
  -        assertEquals("\u0422\u0435\u0441\u0442 test",
  -                     StringUtil.getFromUnicodeHigh( test_data ) );
  -    }
  -
  -    /**
  -     * Test more complex form of getFromUnicode
  -     */
  -
  -    public void testComplexGetFromUnicode()
  -    {
  -        byte[] test_data = new byte[ 32 ];
  -        int    index     = 0;
  -
  -        for (int k = 0; k < 16; k++)
  -        {
  -            test_data[ index++ ] = ( byte ) 0;
  -            test_data[ index++ ] = ( byte ) ('a' + k);
  -        }
  -        assertEquals("abcdefghijklmno",
  -                     StringUtil.getFromUnicode(test_data, 0, 15));
  -        assertEquals("bcdefghijklmnop",
  -                     StringUtil.getFromUnicode(test_data, 2, 15));
  -        try
  -        {
  -            StringUtil.getFromUnicode(test_data, -1, 16);
  -            fail("Should have caught ArrayIndexOutOfBoundsException");
  -        }
  -        catch (ArrayIndexOutOfBoundsException ignored)
  -        {
  -
  -            // as expected
  -        }
  -        try
  -        {
  -            StringUtil.getFromUnicode(test_data, 32, 16);
  -            fail("Should have caught ArrayIndexOutOfBoundsException");
  -        }
  -        catch (ArrayIndexOutOfBoundsException ignored)
  -        {
  -
  -            // as expected
  -        }
  -        try
  -        {
  -            StringUtil.getFromUnicode(test_data, 1, 16);
  -            fail("Should have caught IllegalArgumentException");
  -        }
  -        catch (IllegalArgumentException ignored)
  -        {
  -
  -            // as expected
  -        }
  -        try
  -        {
  -            StringUtil.getFromUnicode(test_data, 1, -1);
  -            fail("Should have caught IllegalArgumentException");
  -        }
  -        catch (IllegalArgumentException ignored)
  -        {
  -
  -            // as expected
  -        }
  -    }
  -
  -    /**
  -     * Test putCompressedUnicode
  -     */
  -
  -    public void testPutCompressedUnicode() throws Exception
  -    {
  -        byte[] output          = new byte[ 100 ];
  -        byte[] expected_output =
  -        {
  -            ( byte ) 'H', ( byte ) 'e', ( byte ) 'l', ( byte ) 'l',
  -            ( byte ) 'o', ( byte ) ' ', ( byte ) 'W', ( byte ) 'o',
  -            ( byte ) 'r', ( byte ) 'l', ( byte ) 'd', ( byte ) 0xAE
  -        };
  -        String input           = new 
String(expected_output,StringUtil.getPreferredEncoding());
  -
  -        StringUtil.putCompressedUnicode(input, output, 0);
  -        for (int j = 0; j < expected_output.length; j++)
  -        {
  -            assertEquals("testing offset " + j, expected_output[ j ],
  -                         output[ j ]);
  -        }
  -        StringUtil.putCompressedUnicode(input, output,
  -                                        100 - expected_output.length);
  -        for (int j = 0; j < expected_output.length; j++)
  -        {
  -            assertEquals("testing offset " + j, expected_output[ j ],
  -                         output[ 100 + j - expected_output.length ]);
  -        }
  -        try
  -        {
  -            StringUtil.putCompressedUnicode(input, output,
  -                                            101 - expected_output.length);
  -            fail("Should have caught ArrayIndexOutOfBoundsException");
  -        }
  -        catch (ArrayIndexOutOfBoundsException ignored)
  -        {
  -
  -            // as expected
  -        }
  -    }
  -
  -    /**
  -     * Test putUncompressedUnicode
  -     */
  -
  -    public void testPutUncompressedUnicode()
  -    {
  -        byte[] output          = new byte[ 100 ];
  -        String input           = "Hello World";
  -        byte[] expected_output =
  -        {
  -            ( byte ) 'H', ( byte ) 0, ( byte ) 'e', ( byte ) 0, ( byte ) 'l',
  -            ( byte ) 0, ( byte ) 'l', ( byte ) 0, ( byte ) 'o', ( byte ) 0,
  -            ( byte ) ' ', ( byte ) 0, ( byte ) 'W', ( byte ) 0, ( byte ) 'o',
  -            ( byte ) 0, ( byte ) 'r', ( byte ) 0, ( byte ) 'l', ( byte ) 0,
  -            ( byte ) 'd', ( byte ) 0
  -        };
  -
  -        StringUtil.putUncompressedUnicode(input, output, 0);
  -        for (int j = 0; j < expected_output.length; j++)
  -        {
  -            assertEquals("testing offset " + j, expected_output[ j ],
  -                         output[ j ]);
  -        }
  -        StringUtil.putUncompressedUnicode(input, output,
  -                                          100 - expected_output.length);
  -        for (int j = 0; j < expected_output.length; j++)
  -        {
  -            assertEquals("testing offset " + j, expected_output[ j ],
  -                         output[ 100 + j - expected_output.length ]);
  -        }
  -        try
  -        {
  -            StringUtil.putUncompressedUnicode(input, output,
  -                                              101 - expected_output.length);
  -            fail("Should have caught ArrayIndexOutOfBoundsException");
  -        }
  -        catch (ArrayIndexOutOfBoundsException ignored)
  -        {
  -
  -            // as expected
  -        }
  -    }
  -
  -    public void testFormat()
  -        throws Exception
  -    {
  -        assertEquals("This is a test " + fmt(1.2345, 2, 2),
  -                     StringUtil.format("This is a test %2.2", new Object[]
  -        {
  -            new Double(1.2345)
  -        }));
  -        assertEquals("This is a test " + fmt(1.2345, -1, 3),
  -                     StringUtil.format("This is a test %.3", new Object[]
  -        {
  -            new Double(1.2345)
  -        }));
  -        assertEquals("This is a great test " + fmt(1.2345, -1, 3),
  -                     StringUtil.format("This is a % test %.3", new Object[]
  -        {
  -            "great", new Double(1.2345)
  -        }));
  -        assertEquals("This is a test 1",
  -                     StringUtil.format("This is a test %", new Object[]
  -        {
  -            new Integer(1)
  -        }));
  -        assertEquals("This is a test 1",
  -                     StringUtil.format("This is a test %", new Object[]
  -        {
  -            new Integer(1), new Integer(1)
  -        }));
  -        assertEquals("This is a test 1.x",
  -                     StringUtil.format("This is a test %1.x", new Object[]
  -        {
  -            new Integer(1)
  -        }));
  -        assertEquals("This is a test ?missing data?1.x",
  -                     StringUtil.format("This is a test %1.x", new Object[]
  -        {
  -        }));
  -        assertEquals("This is a test %1.x",
  -                     StringUtil.format("This is a test \\%1.x", new Object[]
  -        {
  -        }));
  -    }
  -
  -    private String fmt(double num, int minIntDigits, int maxFracDigitis)
  -    {
  -        NumberFormat nf = NumberFormat.getInstance();
  -
  -        if (minIntDigits != -1)
  -        {
  -            nf.setMinimumIntegerDigits(minIntDigits);
  -        }
  -        if (maxFracDigitis != -1)
  -        {
  -            nf.setMaximumFractionDigits(maxFracDigitis);
  -        }
  -        return nf.format(num);
  -    }
  -
  -    /**
  -     * main
  -     *
  -     * @param ignored_args
  -     */
  -
  -    public static void main(String [] ignored_args)
  -    {
  -        System.out.println("Testing util.StringUtil functionality");
  -        junit.textui.TestRunner.run(TestStringUtil.class);
  -    }
  -    /**
  -     * @see junit.framework.TestCase#setUp()
  -     */
  -    protected void setUp() throws Exception {
  -        super.setUp();
  -       // System.setProperty()
  -    }
  -
  -}
  +/* ====================================================================
  + * The Apache Software License, Version 1.1
  + *
  + * Copyright (c) 2002 The Apache Software Foundation.  All rights
  + * reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without
  + * modification, are permitted provided that the following conditions
  + * are met:
  + *
  + * 1. Redistributions of source code must retain the above copyright
  + *    notice, this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright
  + *    notice, this list of conditions and the following disclaimer in
  + *    the documentation and/or other materials provided with the
  + *    distribution.
  + *
  + * 3. The end-user documentation included with the redistribution,
  + *    if any, must include the following acknowledgment:
  + *       "This product includes software developed by the
  + *        Apache Software Foundation (http://www.apache.org/)."
  + *    Alternately, this acknowledgment may appear in the software itself,
  + *    if and wherever such third-party acknowledgments normally appear.
  + *
  + * 4. The names "Apache" and "Apache Software Foundation" and
  + *    "Apache POI" must not be used to endorse or promote products
  + *    derived from this software without prior written permission. For
  + *    written permission, please contact [EMAIL PROTECTED]
  + *
  + * 5. Products derived from this software may not be called "Apache",
  + *    "Apache POI", nor may "Apache" appear in their name, without
  + *    prior written permission of the Apache Software Foundation.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  + * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  + * SUCH DAMAGE.
  + * ====================================================================
  + *
  + * This software consists of voluntary contributions made by many
  + * individuals on behalf of the Apache Software Foundation.  For more
  + * information on the Apache Software Foundation, please see
  + * <http://www.apache.org/>.
  + */
  +package org.apache.poi.util;
  +
  +import junit.framework.*;
  +
  +import java.text.NumberFormat;
  +
  +/**
  + * Unit test for StringUtil
  + *
  + * @author  Marc Johnson (mjohnson at apache dot org
  + * @author  Glen Stampoultzis (glens at apache.org)
  + * @author  Sergei Kozello (sergeikozello at mail.ru)
  + */
  +public class TestStringUtil
  +        extends TestCase
  +{
  +    /**
  +     * Creates new TestStringUtil
  +     *
  +     * @param name
  +     */
  +    public TestStringUtil( String name )
  +    {
  +        super( name );
  +    }
  +
  +    /**
  +     * test simple form of getFromUnicode
  +     */
  +    public void testSimpleGetFromUnicode()
  +    {
  +        byte[] test_data = new byte[32];
  +        int index = 0;
  +
  +        for ( int k = 0; k < 16; k++ )
  +        {
  +            test_data[index++] = (byte) 0;
  +            test_data[index++] = (byte) ( 'a' + k );
  +        }
  +
  +        assertEquals( "abcdefghijklmnop",
  +                StringUtil.getFromUnicode( test_data ) );
  +    }
  +
  +    /**
  +     * test simple form of getFromUnicode with symbols with code below and more 127
  +     */
  +    public void testGetFromUnicodeSymbolsWithCodesMoreThan127()
  +    {
  +        byte[] test_data = new byte[]{0x04, 0x22,
  +                                      0x04, 0x35,
  +                                      0x04, 0x41,
  +                                      0x04, 0x42,
  +                                      0x00, 0x20,
  +                                      0x00, 0x74,
  +                                      0x00, 0x65,
  +                                      0x00, 0x73,
  +                                      0x00, 0x74,
  +        };
  +
  +        assertEquals( "\u0422\u0435\u0441\u0442 test",
  +                StringUtil.getFromUnicode( test_data ) );
  +    }
  +
  +    /**
  +     * test getFromUnicodeHigh for symbols with code below and more 127
  +     */
  +    public void testGetFromUnicodeHighSymbolsWithCodesMoreThan127()
  +    {
  +        byte[] test_data = new byte[]{0x22, 0x04,
  +                                      0x35, 0x04,
  +                                      0x41, 0x04,
  +                                      0x42, 0x04,
  +                                      0x20, 0x00,
  +                                      0x74, 0x00,
  +                                      0x65, 0x00,
  +                                      0x73, 0x00,
  +                                      0x74, 0x00,
  +        };
  +
  +
  +        assertEquals( "\u0422\u0435\u0441\u0442 test",
  +                StringUtil.getFromUnicodeHigh( test_data ) );
  +    }
  +
  +    /**
  +     * Test more complex form of getFromUnicode
  +     */
  +    public void testComplexGetFromUnicode()
  +    {
  +        byte[] test_data = new byte[32];
  +        int index = 0;
  +        for ( int k = 0; k < 16; k++ )
  +        {
  +            test_data[index++] = (byte) 0;
  +            test_data[index++] = (byte) ( 'a' + k );
  +        }
  +        assertEquals( "abcdefghijklmno",
  +                StringUtil.getFromUnicode( test_data, 0, 15 ) );
  +        assertEquals( "bcdefghijklmnop",
  +                StringUtil.getFromUnicode( test_data, 2, 15 ) );
  +        try
  +        {
  +            StringUtil.getFromUnicode( test_data, -1, 16 );
  +            fail( "Should have caught ArrayIndexOutOfBoundsException" );
  +        }
  +        catch ( ArrayIndexOutOfBoundsException ignored )
  +        {
  +            // as expected
  +        }
  +
  +        try
  +        {
  +            StringUtil.getFromUnicode( test_data, 32, 16 );
  +            fail( "Should have caught ArrayIndexOutOfBoundsException" );
  +        }
  +        catch ( ArrayIndexOutOfBoundsException ignored )
  +        {
  +            // as expected
  +        }
  +
  +        try
  +        {
  +            StringUtil.getFromUnicode( test_data, 1, 16 );
  +            fail( "Should have caught IllegalArgumentException" );
  +        }
  +        catch ( IllegalArgumentException ignored )
  +        {
  +            // as expected
  +        }
  +
  +        try
  +        {
  +            StringUtil.getFromUnicode( test_data, 1, -1 );
  +            fail( "Should have caught IllegalArgumentException" );
  +        }
  +        catch ( IllegalArgumentException ignored )
  +        {
  +            // as expected
  +        }
  +    }
  +
  +    /**
  +     * Test putCompressedUnicode
  +     */
  +    public void testPutCompressedUnicode() throws Exception
  +    {
  +        byte[] output = new byte[100];
  +        byte[] expected_output =
  +                {
  +                    (byte) 'H', (byte) 'e', (byte) 'l', (byte) 'l',
  +                    (byte) 'o', (byte) ' ', (byte) 'W', (byte) 'o',
  +                    (byte) 'r', (byte) 'l', (byte) 'd', (byte) 0xAE
  +                };
  +        String input = new String( expected_output, 
StringUtil.getPreferredEncoding() );
  +
  +        StringUtil.putCompressedUnicode( input, output, 0 );
  +        for ( int j = 0; j < expected_output.length; j++ )
  +        {
  +            assertEquals( "testing offset " + j, expected_output[j],
  +                    output[j] );
  +        }
  +        StringUtil.putCompressedUnicode( input, output,
  +                100 - expected_output.length );
  +        for ( int j = 0; j < expected_output.length; j++ )
  +        {
  +            assertEquals( "testing offset " + j, expected_output[j],
  +                    output[100 + j - expected_output.length] );
  +        }
  +        try
  +        {
  +            StringUtil.putCompressedUnicode( input, output,
  +                    101 - expected_output.length );
  +            fail( "Should have caught ArrayIndexOutOfBoundsException" );
  +        }
  +        catch ( ArrayIndexOutOfBoundsException ignored )
  +        {
  +            // as expected
  +        }
  +    }
  +
  +    /**
  +     * Test putUncompressedUnicode
  +     */
  +    public void testPutUncompressedUnicode()
  +    {
  +        byte[] output = new byte[100];
  +        String input = "Hello World";
  +        byte[] expected_output =
  +                {
  +                    (byte) 'H', (byte) 0, (byte) 'e', (byte) 0, (byte) 'l',
  +                    (byte) 0, (byte) 'l', (byte) 0, (byte) 'o', (byte) 0,
  +                    (byte) ' ', (byte) 0, (byte) 'W', (byte) 0, (byte) 'o',
  +                    (byte) 0, (byte) 'r', (byte) 0, (byte) 'l', (byte) 0,
  +                    (byte) 'd', (byte) 0
  +                };
  +
  +        StringUtil.putUncompressedUnicode( input, output, 0 );
  +        for ( int j = 0; j < expected_output.length; j++ )
  +        {
  +            assertEquals( "testing offset " + j, expected_output[j],
  +                    output[j] );
  +        }
  +        StringUtil.putUncompressedUnicode( input, output,
  +                100 - expected_output.length );
  +        for ( int j = 0; j < expected_output.length; j++ )
  +        {
  +            assertEquals( "testing offset " + j, expected_output[j],
  +                    output[100 + j - expected_output.length] );
  +        }
  +        try
  +        {
  +            StringUtil.putUncompressedUnicode( input, output,
  +                    101 - expected_output.length );
  +            fail( "Should have caught ArrayIndexOutOfBoundsException" );
  +        }
  +        catch ( ArrayIndexOutOfBoundsException ignored )
  +        {
  +            // as expected
  +        }
  +    }
  +
  +
  +    public void testFormat()
  +            throws Exception
  +    {
  +        assertEquals( "This is a test " + fmt( 1.2345, 2, 2 ),
  +                StringUtil.format( "This is a test %2.2", new Object[]
  +                {
  +                    new Double( 1.2345 )
  +                } ) );
  +        assertEquals( "This is a test " + fmt( 1.2345, -1, 3 ),
  +                StringUtil.format( "This is a test %.3", new Object[]
  +                {
  +                    new Double( 1.2345 )
  +                } ) );
  +        assertEquals( "This is a great test " + fmt( 1.2345, -1, 3 ),
  +                StringUtil.format( "This is a % test %.3", new Object[]
  +                {
  +                    "great", new Double( 1.2345 )
  +                } ) );
  +        assertEquals( "This is a test 1",
  +                StringUtil.format( "This is a test %", new Object[]
  +                {
  +                    new Integer( 1 )
  +                } ) );
  +        assertEquals( "This is a test 1",
  +                StringUtil.format( "This is a test %", new Object[]
  +                {
  +                    new Integer( 1 ), new Integer( 1 )
  +                } ) );
  +        assertEquals( "This is a test 1.x",
  +                StringUtil.format( "This is a test %1.x", new Object[]
  +                {
  +                    new Integer( 1 )
  +                } ) );
  +        assertEquals( "This is a test ?missing data?1.x",
  +                StringUtil.format( "This is a test %1.x", new Object[]
  +                {
  +                } ) );
  +        assertEquals( "This is a test %1.x",
  +                StringUtil.format( "This is a test \\%1.x", new Object[]
  +                {
  +                } ) );
  +    }
  +
  +
  +    private String fmt( double num, int minIntDigits, int maxFracDigitis )
  +    {
  +        NumberFormat nf = NumberFormat.getInstance();
  +
  +        if ( minIntDigits != -1 )
  +        {
  +            nf.setMinimumIntegerDigits( minIntDigits );
  +        }
  +        if ( maxFracDigitis != -1 )
  +        {
  +            nf.setMaximumFractionDigits( maxFracDigitis );
  +        }
  +
  +        return nf.format( num );
  +    }
  +
  +
  +    /**
  +     * main
  +     *
  +     * @param ignored_args
  +     */
  +    public static void main( String[] ignored_args )
  +    {
  +        System.out.println( "Testing util.StringUtil functionality" );
  +        junit.textui.TestRunner.run( TestStringUtil.class );
  +    }
  +
  +    /**
  +     * @see junit.framework.TestCase#setUp()
  +     */
  +    protected void setUp() throws Exception
  +    {
  +        super.setUp();
  +
  +        // System.setProperty()
  +    }
  +
  +}
  +
  
  
  

--
To unsubscribe, e-mail:   <mailto:poi-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:poi-dev-help@;jakarta.apache.org>

Reply via email to