litesoft
@ 821
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://litesoft.org/License.txt package org.litesoft.core.util.text; import java.util.*; import junit.framework.*; import org.litesoft.core.typeutils.*; 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", ",," ); } } |