litesoft
@ 767
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 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt package org.litesoft.codec; import junit.framework.*; public class StringCodecTest extends TestCase { public static TestSuite suite() { return new TestSuite( StringCodecTest.class ); } public StringCodecTest( String name ) { super( name ); } public static void main( String[] args ) { junit.textui.TestRunner.run( suite() ); } public void test_It() throws Exception { Codec<String> zCodec = StringCodec.INSTANCE; checkRT( zCodec, null ); checkRT( zCodec, "" ); checkRT( zCodec, " " ); checkRT( zCodec, " A" ); checkRT( zCodec, " A " ); checkRT( zCodec, "The QuickBrown Fox Jumped Over the Lazy Moon." ); checkRT( zCodec, "\t\r\n!@#$%^&*()1234567890=-+_][}{';" ); try { zCodec.decode( "~" ); fail( "Bad Char OK?" ); } catch ( IllegalArgumentException expected ) { // OK } String zEncoded = zCodec.encode( "A " ); try { zCodec.decode( zEncoded + AbstractCodec.NULL_AS_STRING ); fail( "Extra Char OK?" ); } catch ( IllegalArgumentException expected ) { // OK } } private void checkRT( Codec<String> pCodec, String pValue ) { String encoded = pCodec.encode( pValue ); String rtValue = pCodec.decode( encoded ); assertEquals( "RT " + pCodec.getClass().getSimpleName() + " (" + encoded + ") ", pValue, rtValue ); System.out.println( "RT " + pCodec.getClass().getSimpleName() + " " + pValue + ": " + encoded ); } } |