Changeset 280

Show
Ignore:
Timestamp:
08/28/08 07:08:01 PM (4 months ago)
Author:
octorian
Message:

Merge of fixes

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/LogicMailTests/src/org/logicprobe/LogicMail/util/StringParserTest.java

    r210 r280  
    88 * 
    99 * 1. Redistributions of source code must retain the above copyright 
    10  *    notice, this list of conditions and the following disclaimer.  
     10 *    notice, this list of conditions and the following disclaimer. 
    1111 * 2. Redistributions in binary form must reproduce the above copyright 
    1212 *    notice, this list of conditions and the following disclaimer in the 
    13  *    documentation and/or other materials provided with the distribution.  
     13 *    documentation and/or other materials provided with the distribution. 
    1414 * 3. Neither the name of the project nor the names of its 
    1515 *    contributors may be used to endorse or promote products derived 
     
    2929 * OF THE POSSIBILITY OF SUCH DAMAGE. 
    3030 */ 
    31  
    3231package org.logicprobe.LogicMail.util; 
    3332 
     
    3635import j2meunit.framework.TestMethod; 
    3736import j2meunit.framework.TestSuite; 
     37 
    3838import java.util.Calendar; 
    3939import java.util.Date; 
     
    4242import java.util.Vector; 
    4343 
     44 
    4445/** 
    4546 * Unit test for StringParser 
     
    5253        super(testName, testMethod); 
    5354    } 
    54      
     55 
    5556    public void setUp() { 
    5657    } 
     
    6465    public void testParseDateString() { 
    6566        System.out.println("parseDateString"); 
     67 
    6668        String rawDate; 
    6769        Date result; 
    6870        Calendar cal = Calendar.getInstance(); 
    69          
     71 
    7072        rawDate = "Sat, 10 Feb 2007 21:27:01 -0800"; 
    7173        result = StringParser.parseDateString(rawDate); 
    7274        cal.setTime(result); 
    7375        cal.setTimeZone(TimeZone.getTimeZone("GMT-08:00")); 
    74          
     76 
    7577        assertEquals("Test 1", 2007, cal.get(Calendar.YEAR)); 
    7678        assertEquals("Test 1", 1, cal.get(Calendar.MONTH)); 
     
    7981        assertEquals("Test 1", 27, cal.get(Calendar.MINUTE)); 
    8082        assertEquals("Test 1", 1, cal.get(Calendar.SECOND)); 
    81          
     83 
    8284        rawDate = "Sat, 10 Feb 2007 21:30:37 America/Los_Angeles"; 
    8385        result = StringParser.parseDateString(rawDate); 
     
    9193        assertEquals("Test 2", 30, cal.get(Calendar.MINUTE)); 
    9294        assertEquals("Test 2", 37, cal.get(Calendar.SECOND)); 
    93          
     95 
    9496        rawDate = "Tue, 23 Oct 2007 18:01 EST"; 
    9597        result = StringParser.parseDateString(rawDate); 
     
    127129        assertEquals("Test 5", 19, cal.get(Calendar.MINUTE)); 
    128130        assertEquals("Test 5", 23, cal.get(Calendar.SECOND)); 
    129          
     131 
    130132        rawDate = "08 Nov 07 17:37:45"; 
    131133        result = StringParser.parseDateString(rawDate); 
     
    146148    public void testCreateDateString() { 
    147149        System.out.println("createDateString"); 
    148          
     150 
    149151        // Test for time zone GMT-5 
    150152        Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT-5")); 
     
    155157        cal.set(Calendar.MINUTE, 27); 
    156158        cal.set(Calendar.SECOND, 1); 
    157          
     159 
    158160        String expected = "Sat, 10 Feb 2007 21:27:01 -0500"; 
    159         String actual = StringParser.createDateString(cal.getTime(), TimeZone.getTimeZone("GMT-5")); 
     161        String actual = StringParser.createDateString(cal.getTime(), 
     162                TimeZone.getTimeZone("GMT-5")); 
    160163        assertEquals("GMT-5", expected, actual); 
    161164 
     
    168171        cal.set(Calendar.MINUTE, 27); 
    169172        cal.set(Calendar.SECOND, 1); 
    170          
     173 
    171174        expected = "Sat, 10 Feb 2007 21:27:01 +0200"; 
    172         actual = StringParser.createDateString(cal.getTime(), TimeZone.getTimeZone("GMT+2")); 
     175        actual = StringParser.createDateString(cal.getTime(), 
     176                TimeZone.getTimeZone("GMT+2")); 
    173177        assertEquals("GMT+2", expected, actual); 
    174178 
     
    181185        cal.set(Calendar.MINUTE, 27); 
    182186        cal.set(Calendar.SECOND, 1); 
    183          
     187 
    184188        expected = "Sat, 10 Feb 2007 21:27:01 +0000"; 
    185         actual = StringParser.createDateString(cal.getTime(), TimeZone.getTimeZone("GMT")); 
     189        actual = StringParser.createDateString(cal.getTime(), 
     190                TimeZone.getTimeZone("GMT")); 
    186191        assertEquals("GMT", expected, actual); 
    187192    } 
    188      
     193 
    189194    /** 
    190195     * Test of nestedParenStringLexer method, of class org.logicprobe.LogicMail.util.StringParser. 
     
    192197    public void testNestedParenStringLexerEnvelope1() { 
    193198        System.out.println("nestedParenStringLexer (Envelope1)"); 
    194         String rawText = 
    195                 "(FLAGS (\\Answered \\Seen) " + 
    196                 "ENVELOPE (\"Mon, 12 Mar 2007 19:38:31 -0700\" \"Re: Calm down! :-)\" " + 
    197                 "((\"jim smith\" NIL \"jsmith\" \"scratch.test\")) " + 
    198                 "((\"jim smith\" NIL \"jsmith\" \"scratch.test\")) " + 
    199                 "((\"jim smith\" NIL \"jsmith\" \"scratch.test\")) " + 
    200                 "((\"John Doe\" NIL \"jdoe\" \"generic.test\")) " + 
    201                 "NIL NIL " + 
    202                 "\"<200703121933.25327.jdoe@generic.test>\" " + 
    203                 "\"<7b02460f0703121938sff23a05xd3c2a37dc6b9eb7d@mail.scratch.test>\"))"; 
     199 
     200        String rawText = "(FLAGS (\\Answered \\Seen) " + 
     201            "ENVELOPE (\"Mon, 12 Mar 2007 19:38:31 -0700\" \"Re: Calm down! :-)\" " + 
     202            "((\"jim smith\" NIL \"jsmith\" \"scratch.test\")) " + 
     203            "((\"jim smith\" NIL \"jsmith\" \"scratch.test\")) " + 
     204            "((\"jim smith\" NIL \"jsmith\" \"scratch.test\")) " + 
     205            "((\"John Doe\" NIL \"jdoe\" \"generic.test\")) " + "NIL NIL " + 
     206            "\"<200703121933.25327.jdoe@generic.test>\" " + 
     207            "\"<7b02460f0703121938sff23a05xd3c2a37dc6b9eb7d@mail.scratch.test>\"))"; 
    204208 
    205209        Vector result = StringParser.nestedParenStringLexer(rawText); 
    206210        Vector temp; 
     211 
    207212        //printTree(result, 0); 
    208         assertEquals("FLAGS", (String)result.elementAt(0)); 
    209         Vector flags = (Vector)result.elementAt(1); 
    210         assertEquals("\\Answered", (String)flags.elementAt(0)); 
    211         assertEquals("\\Seen", (String)flags.elementAt(1)); 
    212  
    213         assertEquals("ENVELOPE", (String)result.elementAt(2)); 
    214         Vector envelope = (Vector)result.elementAt(3); 
     213        assertEquals("FLAGS", (String) result.elementAt(0)); 
     214 
     215        Vector flags = (Vector) result.elementAt(1); 
     216        assertEquals("\\Answered", (String) flags.elementAt(0)); 
     217        assertEquals("\\Seen", (String) flags.elementAt(1)); 
     218 
     219        assertEquals("ENVELOPE", (String) result.elementAt(2)); 
     220 
     221        Vector envelope = (Vector) result.elementAt(3); 
    215222        assertNotNull(envelope); 
    216         assertEquals("Mon, 12 Mar 2007 19:38:31 -0700", (String)envelope.elementAt(0)); 
    217         assertEquals("Re: Calm down! :-)", (String)envelope.elementAt(1)); 
    218          
    219         temp = (Vector)envelope.elementAt(2); 
    220         temp = (Vector)temp.elementAt(0); 
    221         assertEquals("jim smith", (String)temp.elementAt(0)); 
    222         assertEquals("NIL", (String)temp.elementAt(1)); 
    223         assertEquals("jsmith", (String)temp.elementAt(2)); 
    224         assertEquals("scratch.test", (String)temp.elementAt(3)); 
    225          
    226         temp = (Vector)envelope.elementAt(3); 
    227         temp = (Vector)temp.elementAt(0); 
    228         assertEquals("jim smith", (String)temp.elementAt(0)); 
    229         assertEquals("NIL", (String)temp.elementAt(1)); 
    230         assertEquals("jsmith", (String)temp.elementAt(2)); 
    231         assertEquals("scratch.test", (String)temp.elementAt(3)); 
    232  
    233         temp = (Vector)envelope.elementAt(4); 
    234         temp = (Vector)temp.elementAt(0); 
    235         assertEquals("jim smith", (String)temp.elementAt(0)); 
    236         assertEquals("NIL", (String)temp.elementAt(1)); 
    237         assertEquals("jsmith", (String)temp.elementAt(2)); 
    238         assertEquals("scratch.test", (String)temp.elementAt(3)); 
    239  
    240         temp = (Vector)envelope.elementAt(5); 
    241         temp = (Vector)temp.elementAt(0); 
    242         assertEquals("John Doe", (String)temp.elementAt(0)); 
    243         assertEquals("NIL", (String)temp.elementAt(1)); 
    244         assertEquals("jdoe", (String)temp.elementAt(2)); 
    245         assertEquals("generic.test", (String)temp.elementAt(3)); 
    246          
    247         assertEquals("NIL", (String)envelope.elementAt(6)); 
    248         assertEquals("NIL", (String)envelope.elementAt(7)); 
    249         assertEquals("<200703121933.25327.jdoe@generic.test>", (String)envelope.elementAt(8)); 
    250         assertEquals("<7b02460f0703121938sff23a05xd3c2a37dc6b9eb7d@mail.scratch.test>", (String)envelope.elementAt(9)); 
    251     } 
    252      
     223        assertEquals("Mon, 12 Mar 2007 19:38:31 -0700", 
     224            (String) envelope.elementAt(0)); 
     225        assertEquals("Re: Calm down! :-)", (String) envelope.elementAt(1)); 
     226 
     227        temp = (Vector) envelope.elementAt(2); 
     228        temp = (Vector) temp.elementAt(0); 
     229        assertEquals("jim smith", (String) temp.elementAt(0)); 
     230        assertEquals("NIL", (String) temp.elementAt(1)); 
     231        assertEquals("jsmith", (String) temp.elementAt(2)); 
     232        assertEquals("scratch.test", (String) temp.elementAt(3)); 
     233 
     234        temp = (Vector) envelope.elementAt(3); 
     235        temp = (Vector) temp.elementAt(0); 
     236        assertEquals("jim smith", (String) temp.elementAt(0)); 
     237        assertEquals("NIL", (String) temp.elementAt(1)); 
     238        assertEquals("jsmith", (String) temp.elementAt(2)); 
     239        assertEquals("scratch.test", (String) temp.elementAt(3)); 
     240 
     241        temp = (Vector) envelope.elementAt(4); 
     242        temp = (Vector) temp.elementAt(0); 
     243        assertEquals("jim smith", (String) temp.elementAt(0)); 
     244        assertEquals("NIL", (String) temp.elementAt(1)); 
     245        assertEquals("jsmith", (String) temp.elementAt(2)); 
     246        assertEquals("scratch.test", (String) temp.elementAt(3)); 
     247 
     248        temp = (Vector) envelope.elementAt(5); 
     249        temp = (Vector) temp.elementAt(0); 
     250        assertEquals("John Doe", (String) temp.elementAt(0)); 
     251        assertEquals("NIL", (String) temp.elementAt(1)); 
     252        assertEquals("jdoe", (String) temp.elementAt(2)); 
     253        assertEquals("generic.test", (String) temp.elementAt(3)); 
     254 
     255        assertEquals("NIL", (String) envelope.elementAt(6)); 
     256        assertEquals("NIL", (String) envelope.elementAt(7)); 
     257        assertEquals("<200703121933.25327.jdoe@generic.test>", 
     258            (String) envelope.elementAt(8)); 
     259        assertEquals("<7b02460f0703121938sff23a05xd3c2a37dc6b9eb7d@mail.scratch.test>", 
     260            (String) envelope.elementAt(9)); 
     261    } 
     262 
    253263    /** 
    254264     * Test of nestedParenStringLexer method, of class org.logicprobe.LogicMail.util.StringParser. 
     
    256266    public void testNestedParenStringLexerEnvelope2() { 
    257267        System.out.println("nestedParenStringLexer (Envelope2)"); 
     268 
    258269        String rawText = 
    259                 "(FLAGS () ENVELOPE (\"Sun, 18 Mar 2007 09:04:29 -0700\" {23}\r\n" + 
    260                 "[list] \"this is a test\" " + 
    261                 "((\"Jim Smith\" NIL \"jsmith\" \"XXXX\")) " + 
    262                 "((\"Jim Smith\" NIL \"jsmith\" \"XXXX\")) " + 
    263                 "((\"Jim Smith\" NIL \"jsmith\" \"XXXX\")) " + 
    264                 "((NIL NIL \"jsmith\" \"XXXXXXXX\")) " + 
    265                 "NIL NIL NIL \"<45FD630D.1040808@XXXXX>\"))"; 
     270            "(FLAGS () ENVELOPE (\"Sun, 18 Mar 2007 09:04:29 -0700\" {23}\r\n" + 
     271            "[list] \"this is a test\" " + 
     272            "((\"Jim Smith\" NIL \"jsmith\" \"XXXX\")) " + 
     273            "((\"Jim Smith\" NIL \"jsmith\" \"XXXX\")) " + 
     274            "((\"Jim Smith\" NIL \"jsmith\" \"XXXX\")) " + 
     275            "((NIL NIL \"jsmith\" \"XXXXXXXX\")) " + 
     276            "NIL NIL NIL \"<45FD630D.1040808@XXXXX>\"))"; 
    266277 
    267278        Vector result = StringParser.nestedParenStringLexer(rawText); 
    268279        Vector temp; 
     280 
    269281        //printTree(result, 0); 
    270         assertEquals("FLAGS", (String)result.elementAt(0)); 
    271         Vector flags = (Vector)result.elementAt(1); 
     282        assertEquals("FLAGS", (String) result.elementAt(0)); 
     283 
     284        Vector flags = (Vector) result.elementAt(1); 
    272285        assertEquals(0, flags.size()); 
    273286 
    274         assertEquals("ENVELOPE", (String)result.elementAt(2)); 
    275         Vector envelope = (Vector)result.elementAt(3); 
     287        assertEquals("ENVELOPE", (String) result.elementAt(2)); 
     288 
     289        Vector envelope = (Vector) result.elementAt(3); 
    276290        assertNotNull(envelope); 
    277         assertEquals("Sun, 18 Mar 2007 09:04:29 -0700", (String)envelope.elementAt(0)); 
    278         assertEquals("[list] \"this is a test\"", (String)envelope.elementAt(1)); 
    279          
    280         temp = (Vector)envelope.elementAt(2); 
    281         temp = (Vector)temp.elementAt(0); 
    282         assertEquals("Jim Smith", (String)temp.elementAt(0)); 
    283         assertEquals("NIL", (String)temp.elementAt(1)); 
    284         assertEquals("jsmith", (String)temp.elementAt(2)); 
    285         assertEquals("XXXX", (String)temp.elementAt(3)); 
    286          
    287         temp = (Vector)envelope.elementAt(3); 
    288         temp = (Vector)temp.elementAt(0); 
    289         assertEquals("Jim Smith", (String)temp.elementAt(0)); 
    290         assertEquals("NIL", (String)temp.elementAt(1)); 
    291         assertEquals("jsmith", (String)temp.elementAt(2)); 
    292         assertEquals("XXXX", (String)temp.elementAt(3)); 
    293  
    294         temp = (Vector)envelope.elementAt(4); 
    295         temp = (Vector)temp.elementAt(0); 
    296         assertEquals("Jim Smith", (String)temp.elementAt(0)); 
    297         assertEquals("NIL", (String)temp.elementAt(1)); 
    298         assertEquals("jsmith", (String)temp.elementAt(2)); 
    299         assertEquals("XXXX", (String)temp.elementAt(3)); 
    300  
    301         temp = (Vector)envelope.elementAt(5); 
    302         temp = (Vector)temp.elementAt(0); 
    303         assertEquals("NIL", (String)temp.elementAt(0)); 
    304         assertEquals("NIL", (String)temp.elementAt(1)); 
    305         assertEquals("jsmith", (String)temp.elementAt(2)); 
    306         assertEquals("XXXXXXXX", (String)temp.elementAt(3)); 
    307          
    308         assertEquals("NIL", (String)envelope.elementAt(6)); 
    309         assertEquals("NIL", (String)envelope.elementAt(7)); 
    310         assertEquals("NIL", (String)envelope.elementAt(8)); 
    311         assertEquals("<45FD630D.1040808@XXXXX>", (String)envelope.elementAt(9)); 
    312     } 
    313      
     291        assertEquals("Sun, 18 Mar 2007 09:04:29 -0700", 
     292            (String) envelope.elementAt(0)); 
     293        assertEquals("[list] \"this is a test\"", (String) envelope.elementAt(1)); 
     294 
     295        temp = (Vector) envelope.elementAt(2); 
     296        temp = (Vector) temp.elementAt(0); 
     297        assertEquals("Jim Smith", (String) temp.elementAt(0)); 
     298        assertEquals("NIL", (String) temp.elementAt(1)); 
     299        assertEquals("jsmith", (String) temp.elementAt(2)); 
     300        assertEquals("XXXX", (String) temp.elementAt(3)); 
     301 
     302        temp = (Vector) envelope.elementAt(3); 
     303        temp = (Vector) temp.elementAt(0); 
     304        assertEquals("Jim Smith", (String) temp.elementAt(0)); 
     305        assertEquals("NIL", (String) temp.elementAt(1)); 
     306        assertEquals("jsmith", (String) temp.elementAt(2)); 
     307        assertEquals("XXXX", (String) temp.elementAt(3)); 
     308 
     309        temp = (Vector) envelope.elementAt(4); 
     310        temp = (Vector) temp.elementAt(0); 
     311        assertEquals("Jim Smith", (String) temp.elementAt(0)); 
     312        assertEquals("NIL", (String) temp.elementAt(1)); 
     313        assertEquals("jsmith", (String) temp.elementAt(2)); 
     314        assertEquals("XXXX", (String) temp.elementAt(3)); 
     315 
     316        temp = (Vector) envelope.elementAt(5); 
     317        temp = (Vector) temp.elementAt(0); 
     318        assertEquals("NIL", (String) temp.elementAt(0)); 
     319        assertEquals("NIL", (String) temp.elementAt(1)); 
     320        assertEquals("jsmith", (String) temp.elementAt(2)); 
     321        assertEquals("XXXXXXXX", (String) temp.elementAt(3)); 
     322 
     323        assertEquals("NIL", (String) envelope.elementAt(6)); 
     324        assertEquals("NIL", (String) envelope.elementAt(7)); 
     325        assertEquals("NIL", (String) envelope.elementAt(8)); 
     326        assertEquals("<45FD630D.1040808@XXXXX>", (String) envelope.elementAt(9)); 
     327    } 
     328 
    314329    /** 
    315330     * Test of nestedParenStringLexer method, of class org.logicprobe.LogicMail.util.StringParser. 
     
    317332    public void testNestedParenStringLexerEnvelope3() { 
    318333        System.out.println("nestedParenStringLexer (Envelope3)"); 
    319         String rawText = 
    320                 "(FLAGS (\\Seen) " + 
    321                 "ENVELOPE (\"Fri, 15 Jun 2007 12:37:27 -0400\" {42}\r\n"+ 
    322                 "[Theelist] 19\" monitor free to a good home " + 
    323                 "((\"Jim Smith\" NIL \"jsmith\" \"smith.test\")) " + 
    324                 "((NIL NIL \"thelist-bounces\" \"thelist.test\")) " + 
    325                 "((\"This is the list\" NIL \"thelist\" \"thelist.test\")) " + 
    326                 "((\"This is the list\" NIL \"thelist\" \"thelist.test\")) " + 
    327                 "NIL NIL NIL " + 
    328                 "\"<1ECCDABD-5242-4180-9584-E5873C3FEA17@smith.test>\"))"; 
     334 
     335        String rawText = "(FLAGS (\\Seen) " + 
     336            "ENVELOPE (\"Fri, 15 Jun 2007 12:37:27 -0400\" {42}\r\n" + 
     337            "[Theelist] 19\" monitor free to a good home " + 
     338            "((\"Jim Smith\" NIL \"jsmith\" \"smith.test\")) " + 
     339            "((NIL NIL \"thelist-bounces\" \"thelist.test\")) " + 
     340            "((\"This is the list\" NIL \"thelist\" \"thelist.test\")) " + 
     341            "((\"This is the list\" NIL \"thelist\" \"thelist.test\")) " + 
     342            "NIL NIL NIL " + 
     343            "\"<1ECCDABD-5242-4180-9584-E5873C3FEA17@smith.test>\"))"; 
    329344 
    330345        Vector result = StringParser.nestedParenStringLexer(rawText); 
    331346        Vector temp; 
     347 
    332348        //printTree(result, 0); 
    333         assertEquals("FLAGS", (String)result.elementAt(0)); 
    334         Vector flags = (Vector)result.elementAt(1); 
    335         assertEquals("\\Seen", (String)flags.elementAt(0)); 
    336  
    337         assertEquals("ENVELOPE", (String)result.elementAt(2)); 
    338         Vector envelope = (Vector)result.elementAt(3); 
     349        assertEquals("FLAGS", (String) result.elementAt(0)); 
     350 
     351        Vector flags = (Vector) result.elementAt(1); 
     352        assertEquals("\\Seen", (String) flags.elementAt(0)); 
     353 
     354        assertEquals("ENVELOPE", (String) result.elementAt(2)); 
     355 
     356        Vector envelope = (Vector) result.elementAt(3); 
    339357        assertNotNull(envelope); 
    340         assertEquals("Fri, 15 Jun 2007 12:37:27 -0400", (String)envelope.elementAt(0)); 
    341         assertEquals("[Theelist] 19\" monitor free to a good home", (String)envelope.elementAt(1)); 
    342          
    343         temp = (Vector)envelope.elementAt(2); 
    344         temp = (Vector)temp.elementAt(0); 
    345         assertEquals("Jim Smith", (String)temp.elementAt(0)); 
    346         assertEquals("NIL", (String)temp.elementAt(1)); 
    347         assertEquals("jsmith", (String)temp.elementAt(2)); 
    348         assertEquals("smith.test", (String)temp.elementAt(3)); 
    349          
    350         temp = (Vector)envelope.elementAt(3); 
    351         temp = (Vector)temp.elementAt(0); 
    352         assertEquals("NIL", (String)temp.elementAt(0)); 
    353         assertEquals("NIL", (String)temp.elementAt(1)); 
    354         assertEquals("thelist-bounces", (String)temp.elementAt(2)); 
    355         assertEquals("thelist.test", (String)temp.elementAt(3)); 
    356  
    357         temp = (Vector)envelope.elementAt(4); 
    358         temp = (Vector)temp.elementAt(0); 
    359         assertEquals("This is the list", (String)temp.elementAt(0)); 
    360         assertEquals("NIL", (String)temp.elementAt(1)); 
    361         assertEquals("thelist", (String)temp.elementAt(2)); 
    362         assertEquals("thelist.test", (String)temp.elementAt(3)); 
    363  
    364         temp = (Vector)envelope.elementAt(5); 
    365         temp = (Vector)temp.elementAt(0); 
    366         assertEquals("This is the list", (String)temp.elementAt(0)); 
    367         assertEquals("NIL", (String)temp.elementAt(1)); 
    368         assertEquals("thelist", (String)temp.elementAt(2)); 
    369         assertEquals("thelist.test", (String)temp.elementAt(3)); 
    370          
    371         assertEquals("NIL", (String)envelope.elementAt(6)); 
    372         assertEquals("NIL", (String)envelope.elementAt(7)); 
    373         assertEquals("NIL", (String)envelope.elementAt(8)); 
    374         assertEquals("<1ECCDABD-5242-4180-9584-E5873C3FEA17@smith.test>", (String)envelope.elementAt(9)); 
    375     } 
    376      
     358        assertEquals("Fri, 15 Jun 2007 12:37:27 -0400", 
     359            (String) envelope.elementAt(0)); 
     360        assertEquals("[Theelist] 19\" monitor free to a good home", 
     361            (String) envelope.elementAt(1)); 
     362 
     363        temp = (Vector) envelope.elementAt(2); 
     364        temp = (Vector) temp.elementAt(0); 
     365        assertEquals("Jim Smith", (String) temp.elementAt(0)); 
     366        assertEquals("NIL", (String) temp.elementAt(1)); 
     367        assertEquals("jsmith", (String) temp.elementAt(2)); 
     368        assertEquals("smith.test", (String) temp.elementAt(3)); 
     369 
     370        temp = (Vector) envelope.elementAt(3); 
     371        temp = (Vector) temp.elementAt(0); 
     372        assertEquals("NIL", (String) temp.elementAt(0)); 
     373        assertEquals("NIL", (String) temp.elementAt(1)); 
     374        assertEquals("thelist-bounces", (String) temp.elementAt(2)); 
     375        assertEquals("thelist.test", (String) temp.elementAt(3)); 
     376 
     377        temp = (Vector) envelope.elementAt(4); 
     378        temp = (Vector) temp.elementAt(0); 
     379        assertEquals("This is the list", (String) temp.elementAt(0)); 
     380        assertEquals("NIL", (String) temp.elementAt(1)); 
     381        assertEquals("thelist", (String) temp.elementAt(2)); 
     382        assertEquals("thelist.test", (String) temp.elementAt(3)); 
     383 
     384        temp = (Vector) envelope.elementAt(5); 
     385        temp = (Vector) temp.elementAt(0); 
     386        assertEquals("This is the list", (String) temp.elementAt(0)); 
     387        assertEquals("NIL", (String) temp.elementAt(1)); 
     388        assertEquals("thelist", (String) temp.elementAt(2)); 
     389        assertEquals("thelist.test", (String) temp.elementAt(3)); 
     390 
     391        assertEquals("NIL", (String) envelope.elementAt(6)); 
     392        assertEquals("NIL", (String) envelope.elementAt(7)); 
     393        assertEquals("NIL", (String) envelope.elementAt(8)); 
     394        assertEquals("<1ECCDABD-5242-4180-9584-E5873C3FEA17@smith.test>", 
     395            (String) envelope.elementAt(9)); 
     396    } 
     397 
    377398    /** 
    378399     * Test of nestedParenStringLexer method, of class org.logicprobe.LogicMail.util.StringParser. 
     
    380401    public void testNestedParenStringLexerBodyStructure() { 
    381402        System.out.println("nestedParenStringLexer (BodyStructure)"); 
    382         String rawText = 
    383                 "(BODYSTRUCTURE " + 
    384                 "((\"TEXT\" \"PLAIN\" (\"CHARSET\" \"us-ascii\") NIL NIL \"7BIT\" 165 8 NIL NIL NIL) " + 
    385                 "(\"TEXT\" \"HTML\" (\"CHARSET\" \"us-ascii\") NIL NIL \"7BIT\" 627 10 NIL NIL NIL) " + 
    386                 "\"ALTERNATIVE\" (\"BOUNDARY\" \"Boundary-00=_y9RuEFduwo6YU42\") (\"INLINE\" NIL) NIL))"; 
     403 
     404        String rawText = "(BODYSTRUCTURE " + 
     405            "((\"TEXT\" \"PLAIN\" (\"CHARSET\" \"us-ascii\") NIL NIL \"7BIT\" 165 8 NIL NIL NIL) " + 
     406            "(\"TEXT\" \"HTML\" (\"CHARSET\" \"us-ascii\") NIL NIL \"7BIT\" 627 10 NIL NIL NIL) " + 
     407            "\"ALTERNATIVE\" (\"BOUNDARY\" \"Boundary-00=_y9RuEFduwo6YU42\") (\"INLINE\" NIL) NIL))"; 
    387408 
    388409        Vector result = StringParser.nestedParenStringLexer(rawText); 
     
    390411        Vector temp2; 
    391412        Vector temp3; 
     413 
    392414        //printTree(result, 0); 
    393         assertEquals("BODYSTRUCTURE", (String)result.elementAt(0)); 
    394         temp1 = (Vector)result.elementAt(1); 
    395          
    396         temp2 = (Vector)temp1.elementAt(0); 
    397         assertEquals("TEXT", (String)temp2.elementAt(0)); 
    398         assertEquals("PLAIN", (String)temp2.elementAt(1)); 
    399         temp3 = (Vector)temp2.elementAt(2); 
    400         assertEquals("CHARSET", (String)temp3.elementAt(0)); 
    401         assertEquals("us-ascii", (String)temp3.elementAt(1)); 
    402         assertEquals("NIL", (String)temp2.elementAt(3)); 
    403         assertEquals("NIL", (String)temp2.elementAt(4)); 
    404         assertEquals("7BIT", (String)temp2.elementAt(5)); 
    405         assertEquals("165", (String)temp2.elementAt(6)); 
    406         assertEquals("8", (String)temp2.elementAt(7)); 
    407         assertEquals("NIL", (String)temp2.elementAt(8)); 
    408         assertEquals("NIL", (String)temp2.elementAt(9)); 
    409         assertEquals("NIL", (String)temp2.elementAt(10)); 
    410          
    411         temp2 = (Vector)temp1.elementAt(1); 
    412         assertEquals("TEXT", (String)temp2.elementAt(0)); 
    413         assertEquals("HTML", (String)temp2.elementAt(1)); 
    414         temp3 = (Vector)temp2.elementAt(2); 
    415         assertEquals("CHARSET", (String)temp3.elementAt(0)); 
    416         assertEquals("us-ascii", (String)temp3.elementAt(1)); 
    417         assertEquals("NIL", (String)temp2.elementAt(3)); 
    418         assertEquals("NIL", (String)temp2.elementAt(4)); 
    419         assertEquals("7BIT", (String)temp2.elementAt(5)); 
    420         assertEquals("627", (String)temp2.elementAt(6)); 
    421         assertEquals("10", (String)temp2.elementAt(7)); 
    422         assertEquals("NIL", (String)temp2.elementAt(8)); 
    423         assertEquals("NIL", (String)temp2.elementAt(9)); 
    424         assertEquals("NIL", (String)temp2.elementAt(10)); 
    425          
    426         assertEquals("ALTERNATIVE", (String)temp1.elementAt(2)); 
    427  
    428         temp2 = (Vector)temp1.elementAt(3); 
    429         assertEquals("BOUNDARY", (String)temp2.elementAt(0)); 
    430         assertEquals("Boundary-00=_y9RuEFduwo6YU42", (String)temp2.elementAt(1)); 
    431  
    432         temp2 = (Vector)temp1.elementAt(4); 
    433         assertEquals("INLINE", (String)temp2.elementAt(0)); 
    434         assertEquals("NIL", (String)temp2.elementAt(1)); 
    435  
    436         assertEquals("NIL", (String)temp1.elementAt(5)); 
    437     } 
    438  
    439 //    /** 
    440 //     * This method prints the parse tree for debugging purposes. 
    441 //     * @param node Node to start at. 
    442 //     * @param level Level to print from. 
    443 //     */ 
    444 //    private void printTree(Object node, int level) { 
    445 //        if(node instanceof Vector) { 
    446 //            Vector vec = (Vector)node; 
    447 //            int size = vec.size(); 
    448 //            for(int i=0; i<size; i++) 
    449 //                printTree(vec.elementAt(i), level + 1); 
    450 //        } 
    451 //        else { 
    452 //            StringBuffer buf = new StringBuffer(); 
    453 //            buf.append(level+">"); 
    454 //            for(int i=0; i<level; i++) 
    455 //                buf.append("    "); 
    456 //            if(node != null) { 
    457 //                buf.append(node.toString()); 
    458 //            } 
    459 //            else { 
    460 //                buf.append("null"); 
    461 //            } 
    462 //            System.err.println(buf.toString()); 
    463 //        } 
    464 //    } 
     415        assertEquals("BODYSTRUCTURE", (String) result.elementAt(0)); 
     416        temp1 = (Vector) result.elementAt(1); 
     417 
     418        temp2 = (Vector) temp1.elementAt(0); 
     419        assertEquals("TEXT", (String) temp2.elementAt(0)); 
     420        assertEquals("PLAIN", (String) temp2.elementAt(1)); 
     421        temp3 = (Vector) temp2.elementAt(2); 
     422        assertEquals("CHARSET", (String) temp3.elementAt(0)); 
     423        assertEquals("us-ascii", (String) temp3.elementAt(1)); 
     424        assertEquals("NIL", (String) temp2.elementAt(3)); 
     425        assertEquals("NIL", (String) temp2.elementAt(4)); 
     426        assertEquals("7BIT", (String) temp2.elementAt(5)); 
     427        assertEquals("165", (String) temp2.elementAt(6)); 
     428        assertEquals("8", (String) temp2.elementAt(7)); 
     429        assertEquals("NIL", (String) temp2.elementAt(8)); 
     430        assertEquals("NIL", (String) temp2.elementAt(9)); 
     431        assertEquals("NIL", (String) temp2.elementAt(10)); 
     432 
     433        temp2 = (Vector) temp1.elementAt(1); 
     434        assertEquals("TEXT", (String) temp2.elementAt(0)); 
     435        assertEquals("HTML", (String) temp2.elementAt(1)); 
     436        temp3 = (Vector) temp2.elementAt(2); 
     437        assertEquals("CHARSET", (String) temp3.elementAt(0)); 
     438        assertEquals("us-ascii", (String) temp3.elementAt(1)); 
     439        assertEquals("NIL", (String) temp2.elementAt(3)); 
     440        assertEquals("NIL", (String) temp2.elementAt(4)); 
     441        assertEquals("7BIT", (String) temp2.elementAt(5)); 
     442        assertEquals("627", (String) temp2.elementAt(6)); 
     443        assertEquals("10", (String) temp2.elementAt(7)); 
     444        assertEquals("NIL", (String) temp2.elementAt(8)); 
     445        assertEquals("NIL", (String) temp2.elementAt(9)); 
     446        assertEquals("NIL", (String) temp2.elementAt(10)); 
     447 
     448        assertEquals("ALTERNATIVE", (String) temp1.elementAt(2)); 
     449 
     450        temp2 = (Vector) temp1.elementAt(3); 
     451        assertEquals("BOUNDARY", (String) temp2.elementAt(0)); 
     452        assertEquals("Boundary-00=_y9RuEFduwo6YU42", (String) temp2.elementAt(1)); 
     453 
     454        temp2 = (Vector) temp1.elementAt(4); 
     455        assertEquals("INLINE", (String) temp2.elementAt(0)); 
     456        assertEquals("NIL", (String) temp2.elementAt(1));