KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > opensubsystems > core > util > StringUtilsTest


1 /*
2  * Copyright (c) 2003 - 2007 OpenSubsystems s.r.o. Slovak Republic. All rights reserved.
3  *
4  * Project: OpenSubsystems
5  *
6  * $Id: StringUtilsTest.java,v 1.4 2007/01/07 06:14:55 bastafidli Exp $
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; version 2 of the License.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20  */

21
22 package org.opensubsystems.core.util;
23
24 import junit.framework.TestCase;
25
26 /**
27  * Tests for common operations with strings.
28  *
29  * @version $Id: StringUtilsTest.java,v 1.4 2007/01/07 06:14:55 bastafidli Exp $
30  * @author Miro Halas
31  * @code.reviewer Miro Halas
32  * @code.reviewed Initial revision
33  */

34 public class StringUtilsTest extends TestCase
35 {
36    /**
37     * Constructor for StringUtilsTest.
38     * @param arg0 - name of the test
39     */

40    public StringUtilsTest(
41       String JavaDoc arg0
42    )
43    {
44       super(arg0);
45    }
46
47    /**
48     * Set up environment for the test case.
49     *
50     * @throws Exception - an error has occured during setting up test
51     */

52    protected void setUp(
53    ) throws Exception JavaDoc
54    {
55       super.setUp();
56    }
57
58    /**
59     * Restore original environment after the test case.
60     *
61     * @throws Exception - an error has occured during tearing down up test
62     */

63    protected void tearDown() throws Exception JavaDoc
64    {
65       super.tearDown();
66    }
67
68    /**
69     * Test parsing of fractions using parseFraction.
70     */

71    public void testParseFraction(
72    )
73    {
74       double dDefault = -1;
75       double dParsed;
76       double dExpected;
77       
78       dExpected = ((double)123) + (((double)456) / ((double)789));
79       dParsed = StringUtils.parseFraction("xxxxxxx 123 456 / 789 yyyyy", dDefault, true);
80       assertEquals("Fraction parsed incorrectly", dExpected, dParsed, 0.0d);
81       dParsed = StringUtils.parseFraction("xxxxxxx 123 456/789 yyyyy", dDefault, true);
82       assertEquals("Fraction parsed incorrectly", dExpected, dParsed, 0.0d);
83       dParsed = StringUtils.parseFraction("xxxxxxx123 456/789yyyyy", dDefault, true);
84       assertEquals("Fraction parsed incorrectly", dExpected, dParsed, 0.0d);
85
86       dParsed = StringUtils.parseFraction("xxxxxxx 123 456 / 789 yyyyy", dDefault, false);
87       assertEquals("Fraction parsed incorrectly", dDefault, dParsed, 0.0d);
88
89       dParsed = StringUtils.parseFraction("123 456 / 789", dDefault, false);
90       assertEquals("Fraction parsed incorrectly", dExpected, dParsed, 0.0d);
91       dParsed = StringUtils.parseFraction("123 456/789", dDefault, false);
92       assertEquals("Fraction parsed incorrectly", dExpected, dParsed, 0.0d);
93
94       dExpected = ((double)456) / ((double)789);
95       dParsed = StringUtils.parseFraction("xxxxxxx 456 / 789 yyyyy", dDefault, true);
96       assertEquals("Fraction parsed incorrectly", dExpected, dParsed, 0.0d);
97       dParsed = StringUtils.parseFraction("xxxxxxx 456/789 yyyyy", dDefault, true);
98       assertEquals("Fraction parsed incorrectly", dExpected, dParsed, 0.0d);
99       dParsed = StringUtils.parseFraction("xxxxxxx456/789yyyyy", dDefault, true);
100       assertEquals("Fraction parsed incorrectly", dExpected, dParsed, 0.0d);
101
102       dParsed = StringUtils.parseFraction("xxxxxxx 456 / 789 yyyyy", dDefault, false);
103       assertEquals("Fraction parsed incorrectly", dDefault, dParsed, 0.0d);
104
105       dParsed = StringUtils.parseFraction("456 / 789", dDefault, false);
106       assertEquals("Fraction parsed incorrectly", dExpected, dParsed, 0.0d);
107       dParsed = StringUtils.parseFraction("456/789", dDefault, false);
108       assertEquals("Fraction parsed incorrectly", dExpected, dParsed, 0.0d);
109
110       // Now some incorrect
111
dParsed = StringUtils.parseFraction("xxxxxxx 123 + 456 / 789 yyyyy", dDefault, false);
112       assertEquals("Fraction parsed incorrectly", dDefault, dParsed, 0.0d);
113       dParsed = StringUtils.parseFraction("xxxxxxx 123 456 / yyyyy", dDefault, true);
114       assertEquals("Fraction parsed incorrectly", dDefault, dParsed, 0.0d);
115       dParsed = StringUtils.parseFraction("xxxxxxx 123 // 789 yyyyy", dDefault, true);
116       assertEquals("Fraction parsed incorrectly", dDefault, dParsed, 0.0d);
117       dParsed = StringUtils.parseFraction("/ 789 yyyyy", dDefault, false);
118       assertEquals("Fraction parsed incorrectly", dDefault, dParsed, 0.0d);
119       dParsed = StringUtils.parseFraction("xxxxxxx 123 456 /", dDefault, true);
120       assertEquals("Fraction parsed incorrectly", dDefault, dParsed, 0.0d);
121
122       // But these are correct
123
dParsed = StringUtils.parseFraction("xxxxxxx 123 + 456 / 789 yyyyy", dDefault, true);
124       assertEquals("Fraction parsed incorrectly", 123d, dParsed, 0.0d);
125       dParsed = StringUtils.parseFraction("/ 789 yyyyy", dDefault, true);
126       assertEquals("Fraction parsed incorrectly", 789d, dParsed, 0.0d);
127    }
128    
129    /**
130     * Test parsing of string using parseQuotedStringToStringArray.
131     *
132     * @throws Exception - an erro has occured during test
133     */

134    public void testParseQuotedStringToStringArray(
135    ) throws Exception JavaDoc
136    {
137       String JavaDoc[] result;
138              
139       result = StringUtils.parseQuotedStringToStringArray("", "", true, true);
140       assertNotNull("Incorrect parse result.", result);
141       assertEquals("Incorrect parse result.", 0, result.length);
142       result = StringUtils.parseQuotedStringToStringArray("", ",", true, true);
143       assertNotNull("Incorrect parse result.", result);
144       assertEquals("Incorrect parse result.", 0, result.length);
145
146       result = StringUtils.parseQuotedStringToStringArray(" ", ",", true, true);
147       assertNotNull("Incorrect parse result.", result);
148       assertEquals("Incorrect parse result.", 1, result.length);
149       assertEquals("Incorrect parse result.", " ", result[0]);
150
151       result = StringUtils.parseQuotedStringToStringArray("7,8", ",", true, true);
152       assertNotNull("Incorrect parse result.", result);
153       assertEquals("Incorrect parse result.", 2, result.length);
154       assertEquals("Incorrect parse result.", "7", result[0]);
155       assertEquals("Incorrect parse result.", "8", result[1]);
156
157       result = StringUtils.parseQuotedStringToStringArray("7,888, 99,10,11", ",", true, true);
158       assertNotNull("Incorrect parse result.", result);
159       assertEquals("Incorrect parse result.", 5, result.length);
160       assertEquals("Incorrect parse result.", "7", result[0]);
161       assertEquals("Incorrect parse result.", "888", result[1]);
162       assertEquals("Incorrect parse result.", " 99", result[2]);
163       assertEquals("Incorrect parse result.", "10", result[3]);
164       assertEquals("Incorrect parse result.", "11", result[4]);
165
166       result = StringUtils.parseQuotedStringToStringArray("7,888, 99,,11,", ",", true, true);
167       assertNotNull("Incorrect parse result.", result);
168       assertEquals("Incorrect parse result.", 5, result.length);
169       assertEquals("Incorrect parse result.", "7", result[0]);
170       assertEquals("Incorrect parse result.", "888", result[1]);
171       assertEquals("Incorrect parse result.", " 99", result[2]);
172       assertEquals("Incorrect parse result.", "", result[3]);
173       assertEquals("Incorrect parse result.", "11", result[4]);
174
175       result = StringUtils.parseQuotedStringToStringArray(",,,,,", ",", true, true);
176       assertNotNull("Incorrect parse result.", result);
177       assertEquals("Incorrect parse result.", 5, result.length);
178       assertEquals("Incorrect parse result.", "", result[0]);
179       assertEquals("Incorrect parse result.", "", result[1]);
180       assertEquals("Incorrect parse result.", "", result[2]);
181       assertEquals("Incorrect parse result.", "", result[3]);
182       assertEquals("Incorrect parse result.", "", result[4]);
183
184       result = StringUtils.parseQuotedStringToStringArray(
185                   "7,\"888\",\" 99,\",11,", ",", true, true);
186       assertNotNull("Incorrect parse result.", result);
187       assertEquals("Incorrect parse result.", 4, result.length);
188       assertEquals("Incorrect parse result.", "7", result[0]);
189       assertEquals("Incorrect parse result.", "888", result[1]);
190       assertEquals("Incorrect parse result.", " 99,", result[2]);
191       assertEquals("Incorrect parse result.", "11", result[3]);
192
193       result = StringUtils.parseQuotedStringToStringArray(
194                   "7,\"888\",\" 99,\",11,", ",", true, false);
195       assertNotNull("Incorrect parse result.", result);
196       assertEquals("Incorrect parse result.", 5, result.length);
197       assertEquals("Incorrect parse result.", "7", result[0]);
198       assertEquals("Incorrect parse result.", "\"888\"", result[1]);
199       assertEquals("Incorrect parse result.", "\" 99", result[2]);
200       assertEquals("Incorrect parse result.", "\"", result[3]);
201       assertEquals("Incorrect parse result.", "11", result[4]);
202
203       result = StringUtils.parseQuotedStringToStringArray(
204                   "7,'888',' 99,',11,", ",", true, true);
205       assertNotNull("Incorrect parse result.", result);
206       assertEquals("Incorrect parse result.", 4, result.length);
207       assertEquals("Incorrect parse result.", "7", result[0]);
208       assertEquals("Incorrect parse result.", "888", result[1]);
209       assertEquals("Incorrect parse result.", " 99,", result[2]);
210       assertEquals("Incorrect parse result.", "11", result[3]);
211
212       result = StringUtils.parseQuotedStringToStringArray(
213                   "7,'888',' 99,',11,", ",", false, true);
214       assertNotNull("Incorrect parse result.", result);
215       assertEquals("Incorrect parse result.", 5, result.length);
216       assertEquals("Incorrect parse result.", "7", result[0]);
217       assertEquals("Incorrect parse result.", "'888'", result[1]);
218       assertEquals("Incorrect parse result.", "' 99", result[2]);
219       assertEquals("Incorrect parse result.", "'", result[3]);
220       assertEquals("Incorrect parse result.", "11", result[4]);
221
222       result = StringUtils.parseQuotedStringToStringArray(
223                   "7,'888',' 99,',11,\"88,99,10\"", ",", true, true);
224       assertNotNull("Incorrect parse result.", result);
225       assertEquals("Incorrect parse result.", 5, result.length);
226       assertEquals("Incorrect parse result.", "7", result[0]);
227       assertEquals("Incorrect parse result.", "888", result[1]);
228       assertEquals("Incorrect parse result.", " 99,", result[2]);
229       assertEquals("Incorrect parse result.", "11", result[3]);
230       assertEquals("Incorrect parse result.", "88,99,10", result[4]);
231    }
232 }
233
Popular Tags