Subversion Repository Public Repository

litesoft

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// This Source Code is in the Public Domain per: http://unlicense.org
package org.litesoft.core.util.text;

import org.litesoft.commonfoundation.typeutils.*;

import java.util.*;

import junit.framework.*;

public class CodedTextParserTest extends TestCase
{
    public static TestSuite suite()
    {
        return new TestSuite( CodedTextParserTest.class );
    }

    public CodedTextParserTest( String name )
    {
        super( name );
    }

    public static void main( String[] args )
    {
        junit.textui.TestRunner.run( suite() );
    }

    private String junk()
    {
        StringBuilder zChars = new StringBuilder();
        for ( int i = 0; i <= ' '; i++ )
        {
            zChars.append( (char) i );
        }
        zChars.append( (char) 127 );
        zChars.append( (char) ('A' + 128) );
        return zChars.toString();
    }

    public void assertParser( String pSource, String... pExpected )
    {
        List<String> zActual = CodedTextParser.parse( pSource );
        Assert.assertEquals( "\"" + pSource + "\" generated: ", //
                             Lists.singleQuoteToString( Arrays.asList( pExpected ) ), //
                             Lists.singleQuoteToString( zActual ) );
    }

    public void test_Null()
            throws Exception
    {
        assertEquals( 0, CodedTextParser.parse( null ).size() );
    }

    public void test_Empty()
            throws Exception
    {
        assertEquals( 0, CodedTextParser.parse( "" ).size() );
    }

    public void test_Blank()
            throws Exception
    {
        assertEquals( 0, CodedTextParser.parse( junk() ).size() );
    }

    public void test_Letter()
            throws Exception
    {
        assertParser( " A ", "A" );
        assertParser( junk() + " A " + junk(), "A" );
    }

    public void test_2_Letters()
            throws Exception
    {
        assertParser( " A B", "A", " ", "B" );
        assertParser( " A  " + junk() + " B", "A", " ", "B" );
    }

    public void test_TextWithPunc()
            throws Exception
    {
        assertParser( " AB,", "AB", "," );
        assertParser( " AB, C", "AB", ",", " ", "C" );
        assertParser( " A,B C", "A,B", " ", "C" );
        assertParser( " -AB, C", "-", "AB", ",", " ", "C" );
    }

    public void test_EdgeCases()
            throws Exception
    {
        assertParser( ", AB,", ",", " ", "AB", "," );
        assertParser( ",,", ",," );
        assertParser( ",,A", ",,", "A" );
        assertParser( ",,A,,", ",,", "A", ",," );
    }
}

Commits for litesoft/trunk/Java/core/Anywhere/tests/org/litesoft/core/util/text/CodedTextParserTest.java

Diff revisions: vs.
Revision Author Commited Message
947 Diff Diff GeorgeS picture GeorgeS Fri 06 Jun, 2014 23:36:56 +0000

Correct Spelling of package!

939 Diff Diff GeorgeS picture GeorgeS Mon 02 Jun, 2014 21:30:31 +0000

Extracting commonfoundation

821 Diff Diff GeorgeS picture GeorgeS Sun 19 Aug, 2012 00:08:41 +0000
49 Diff Diff GeorgeS picture GeorgeS Mon 12 Apr, 2010 02:59:10 +0000

License Text

2 GeorgeS picture GeorgeS Sun 07 Feb, 2010 12:50:58 +0000