1 21 22 package org.opensubsystems.core.util; 23 24 import junit.framework.TestCase; 25 26 34 public class StringUtilsTest extends TestCase 35 { 36 40 public StringUtilsTest( 41 String arg0 42 ) 43 { 44 super(arg0); 45 } 46 47 52 protected void setUp( 53 ) throws Exception 54 { 55 super.setUp(); 56 } 57 58 63 protected void tearDown() throws Exception 64 { 65 super.tearDown(); 66 } 67 68 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 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 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 134 public void testParseQuotedStringToStringArray( 135 ) throws Exception 136 { 137 String [] 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 |