1 package testcomtest;
2 import comtest.*;
4 import static org.junit.Assert.*;
5 import org.junit.*;
6 import static comtest.StringUtilities.*;
7
9
14 @SuppressWarnings({ "PMD" })
15 public class StringUtilitiesTest {
16
17
18
19
21 @Test
22 public void testSplitBy() { String s = "first; second;\"third;3\";4;";
24 Strings p = splitBy(s,";",1);
25 assertEquals("From: StringUtilities line: 36", 5, p.size());
26 assertEquals("From: StringUtilities line: 37", "first", p.get(0)); assertEquals("From: StringUtilities line: 37", " second", p.get(1)); assertEquals("From: StringUtilities line: 37", "\"third;3\"", p.get(2));
27 assertEquals("From: StringUtilities line: 38", "4", p.get(3)); assertEquals("From: StringUtilities line: 38", "", p.get(4));
28 s = "first; second;\"third;3\";4";
29 p = splitBy(s,";",0,true);
30 assertEquals("From: StringUtilities line: 42", 4, p.size());
31 assertEquals("From: StringUtilities line: 43", "first;", p.get(0));
32 assertEquals("From: StringUtilities line: 44", "second;", p.get(1));
33 assertEquals("From: StringUtilities line: 45", "\"third;3\";", p.get(2));
34 assertEquals("From: StringUtilities line: 46", "4", p.get(3));
35 }
37
38
40 @Test
41 public void testSplitBy87() { Strings p;
43 p = splitBy("one|two|three","|");
44 assertEquals("From: StringUtilities line: 90", 3, p.size());
45 assertEquals("From: StringUtilities line: 91", "one", p.get(0));
46 assertEquals("From: StringUtilities line: 92", "two", p.get(1));
47 assertEquals("From: StringUtilities line: 93", "three", p.get(2));
48 p = splitBy("one|","|");
49 assertEquals("From: StringUtilities line: 96", 2, p.size());
50 assertEquals("From: StringUtilities line: 97", "one", p.get(0));
51 assertEquals("From: StringUtilities line: 98", "", p.get(1));
52 p = splitBy("one","|");
53 assertEquals("From: StringUtilities line: 101", 1, p.size());
54 assertEquals("From: StringUtilities line: 102", "one", p.get(0));
55 p = splitBy("","|");
56 assertEquals("From: StringUtilities line: 105", 1, p.size());
57 assertEquals("From: StringUtilities line: 106", "", p.get(0));
58 }
60
61
63 @Test
64 public void testIndexOfNotInQuotes() { assertEquals("From: StringUtilities line: 204", 9, indexOfNotInQuotes("a = a+1; // add one ", "//","\""));
66 assertEquals("From: StringUtilities line: 205", -1, indexOfNotInQuotes("a = a+1; ", "//","\""));
67 assertEquals("From: StringUtilities line: 206", 10, indexOfNotInQuotes("s = \"//\"; // s is comment", "//","\""));
68 assertEquals("From: StringUtilities line: 207", -1, indexOfNotInQuotes("s = \"//\"; ", "//","\""));
69 assertEquals("From: StringUtilities line: 208", 10, indexOfNotInQuotes("s = \"a\"; // \"//\" ", "//","\""));
70 assertEquals("From: StringUtilities line: 209", 4, indexOfNotInQuotes("s = \"a\"; // \"//\" ", "\"","\""));
71 assertEquals("From: StringUtilities line: 210", 5, indexOfNotInQuotes("s = \"a\"; // \"//\" ", "a",""));
72 assertEquals("From: StringUtilities line: 211", 18, indexOfNotInQuotes("s = \"a\"; c='a'; d=a; ", "a","\"'"));
73 }
75
76
78 @Test
79 public void testRemoveFromBeginingN() { assertEquals("From: StringUtilities line: 227", " a=a+1;", removeFromBegining("* a=a+1;","*",2));
81 assertEquals("From: StringUtilities line: 228", "* a=a+1;", removeFromBegining("*** a=a+1;","*",2));
82 assertEquals("From: StringUtilities line: 229", " ** a=a+1;", removeFromBegining("* ** a=a+1;","*",2));
83 }
85
86
88 @Test
89 public void testRemoveFromBegining() { assertEquals("From: StringUtilities line: 250", " a=a+1;", removeFromBegining("* a=a+1;","*"));
91 assertEquals("From: StringUtilities line: 251", " a=a+1;", removeFromBegining("*** a=a+1;","*"));
92 assertEquals("From: StringUtilities line: 252", " ** a=a+1;", removeFromBegining("* ** a=a+1;","*"));
93 }
95
96
98 @Test
99 public void testRemoveFromBeginingTrim() { assertEquals("From: StringUtilities line: 271", " a=a+1;", removeFromBeginingTrim(" * a=a+1;","*"));
101 assertEquals("From: StringUtilities line: 272", " a=a+1;", removeFromBeginingTrim(" *** a=a+1;","*"));
102 assertEquals("From: StringUtilities line: 273", " ** a=a+1;", removeFromBeginingTrim(" * ** a=a+1;","*"));
103 assertEquals("From: StringUtilities line: 274", " a=a+1;", removeFromBeginingTrim(" a=a+1;","*"));
104 }
106
107
109 @Test
110 public void testRemoveAllAfter298() { assertEquals("From: StringUtilities line: 299", "a = a+1; ", removeAllAfter("a = a+1; // add one ", "//"));
112 assertEquals("From: StringUtilities line: 300", "a = a+1; ", removeAllAfter("a = a+1; ","//"));
113 assertEquals("From: StringUtilities line: 301", "s = \"//\"; ", removeAllAfter("s = \"//\"; // s is comment", "//" ));
114 assertEquals("From: StringUtilities line: 302", "s = \"//\"; ", removeAllAfter("s = \"//\"; " ,"//"));
115 assertEquals("From: StringUtilities line: 303", "s = \"a\"; ", removeAllAfter("s = \"a\"; // \"//\" " ,"//"));
116 }
118
119
121 @Test
122 public void testRemoveAllAfter321() { StringBuilder sb;
124 sb = new StringBuilder("a = a+1; // add one "); assertEquals("From: StringUtilities line: 327", true, removeAllAfter(sb,"//")); ;
125 sb = new StringBuilder("a = a+1; "); assertEquals("From: StringUtilities line: 328", false, removeAllAfter(sb,"//")); ;
126 sb = new StringBuilder("s = \"//\"; // s is comment"); assertEquals("From: StringUtilities line: 329", true, removeAllAfter(sb,"//")); ;
127 sb = new StringBuilder("s = \"//\"; "); assertEquals("From: StringUtilities line: 330", false, removeAllAfter(sb,"//")); ;
128 sb = new StringBuilder("s = \"a\"; // \"//\" "); assertEquals("From: StringUtilities line: 331", true, removeAllAfter(sb,"//")); ;
129 }
131
132
134 @Test
135 public void testAddToName() { assertEquals("From: StringUtilities line: 349", "myTest.java", addToName("my.java","Test"));
137 assertEquals("From: StringUtilities line: 350", "myTest", addToName("my","Test"));
138 }
140
141
143 @Test
144 public void testJustFilePart() { assertEquals("From: StringUtilities line: 366", "myTest", justFilePart("myTest.java"));
146 assertEquals("From: StringUtilities line: 367", "myTest", justFilePart("myTest"));
147 assertEquals("From: StringUtilities line: 368", "myTest", justFilePart("/users/my/java/myTest.java"));
148 assertEquals("From: StringUtilities line: 369", "myTest", justFilePart("/users/my.prg/java/myTest.java"));
149 assertEquals("From: StringUtilities line: 370", "myTest", justFilePart("/users/my.prg/java/myTest"));
150 assertEquals("From: StringUtilities line: 371", "", justFilePart("/users/my.prg/java/myTest/"));
151 assertEquals("From: StringUtilities line: 372", "myTest", justFilePart("e:\\users\\my.prg\\java\\myTest"));
152 assertEquals("From: StringUtilities line: 373", "myTest", justFilePart("\\users\\my.prg\\java\\myTest"));
153 assertEquals("From: StringUtilities line: 374", "myTest", justFilePart("e:myTest.java"));
154 }
156
157
159 @Test
160 public void testRemove396() { assertEquals("From: StringUtilities line: 401", "ab", remove("aab","a"));
162 assertEquals("From: StringUtilities line: 402", "bb", remove("bab","a"));
163 assertEquals("From: StringUtilities line: 403", "bb", remove("bba","a"));
164 }
166
167
169 @Test
170 public void testRemove407() { assertEquals("From: StringUtilities line: 412", "\"aa\"b", remove("\"aa\"b","a"));
172 assertEquals("From: StringUtilities line: 413", "\"a\"b", remove("\"a\"ab","a"));
173 }
175
176
178 @Test
179 public void testRemove429() { StringBuilder sb;
181 sb = new StringBuilder("aab"); assertEquals("From: StringUtilities line: 435", true, remove(sb,"a")); assertEquals("From: StringUtilities line: 435", "ab", sb.toString());
182 sb = new StringBuilder("bab"); assertEquals("From: StringUtilities line: 436", true, remove(sb,"a")); assertEquals("From: StringUtilities line: 436", "bb", sb.toString());
183 sb = new StringBuilder("bba"); assertEquals("From: StringUtilities line: 437", true, remove(sb,"a")); assertEquals("From: StringUtilities line: 437", "bb", sb.toString());
184 }
186
187
189 @Test
190 public void testRemove441() { StringBuilder sb;
192 sb = new StringBuilder("\"aa\"b"); assertEquals("From: StringUtilities line: 447", false, remove(sb,"a")); assertEquals("From: StringUtilities line: 447", "\"aa\"b", sb.toString());
193 sb = new StringBuilder("\"a\"ab"); assertEquals("From: StringUtilities line: 448", true, remove(sb,"a")); assertEquals("From: StringUtilities line: 448", "\"a\"b", sb.toString());
194 }
196
197
199 @Test
200 public void testGetFileContents() { Strings list = getFileContents("comtest/StringUtilities.java");
202 int lastn = list.size()-1;
203 assertEquals("From: StringUtilities line: 468", true, lastn > 200);
204 assertEquals("From: StringUtilities line: 469", "package comtest;", list.get(0));
205 assertEquals("From: StringUtilities line: 470", "}", list.get(lastn));
206 list = getFileContents("comtest/StringUtilitiesXYZ.java");
207 assertEquals("From: StringUtilities line: 472", null, list);
208 }
210
211
213 @Test
214 public void testCountEndIndex505() { assertEquals("From: StringUtilities line: 506", 7, countEndIndex("#STATIC","#STATICIMPORT"));
216 assertEquals("From: StringUtilities line: 507", 0, countEndIndex("ABCD","1234"));
217 assertEquals("From: StringUtilities line: 508", 4, countEndIndex("ABCD","ABCD"));
218 assertEquals("From: StringUtilities line: 509", 7, countEndIndex("1234567890#STATIC","#STATICIMPORT"));
219 }
221
222
224 @Test
225 public void testIndexOfBack548() { assertEquals("From: StringUtilities line: 549", 4, indexOfBack("0123456789","4",8));
227 assertEquals("From: StringUtilities line: 550", -1, indexOfBack("0123456789","9",8));
228 assertEquals("From: StringUtilities line: 551", 4, indexOfBack("0123456789","4",4));
229 assertEquals("From: StringUtilities line: 552", -1, indexOfBack("0123456789","4",3));
230 assertEquals("From: StringUtilities line: 553", -1, indexOfBack(null,"4",5));
231 assertEquals("From: StringUtilities line: 554", -1, indexOfBack(null,null,5));
232 assertEquals("From: StringUtilities line: 555", -1, indexOfBack("012345678",null,5));
233 assertEquals("From: StringUtilities line: 556", 4, indexOfBack("0123456789","4",18));
234 assertEquals("From: StringUtilities line: 557", 10, indexOfBack("0123456789","",18));
235 assertEquals("From: StringUtilities line: 558", 5, indexOfBack("0123456789","",5));
236 assertEquals("From: StringUtilities line: 559", -1, indexOfBack("0123456789","abc",15));
237 }
239
240
242 @Test
243 public void testGetLineIndent585() { assertEquals("From: StringUtilities line: 586", " ", getLineIndent("first\n second\n",15));
245 assertEquals("From: StringUtilities line: 587", " ", getLineIndent("first\n second\n",5));
246 assertEquals("From: StringUtilities line: 588", "", getLineIndent("first\n second\n",4));
247 assertEquals("From: StringUtilities line: 589", " ", getLineIndent(" first\n second\n",6));
248 }
250
251
253 @Test
254 public void testIsEmpty605() { String s = null;
256 assertEquals("From: StringUtilities line: 607", true, isEmpty(s));
257 assertEquals("From: StringUtilities line: 608", true, isEmpty(""));
258 assertEquals("From: StringUtilities line: 609", true, isEmpty(" "));
259 assertEquals("From: StringUtilities line: 610", false, isEmpty("a"));
260 assertEquals("From: StringUtilities line: 611", false, isEmpty("\n"));
261 }
263
264
266 @Test
267 public void testIsEmpty629() { StringBuilder sb = null;
269 assertEquals("From: StringUtilities line: 631", true, isEmpty(sb));
270 assertEquals("From: StringUtilities line: 632", true, isEmpty(new StringBuilder("")));
271 assertEquals("From: StringUtilities line: 633", true, isEmpty(new StringBuilder(" ")));
272 assertEquals("From: StringUtilities line: 634", false, isEmpty(new StringBuilder("a")));
273 assertEquals("From: StringUtilities line: 635", false, isEmpty(new StringBuilder("\n")));
274 }
276
277
279 @Test
280 public void testTrim653() { StringBuilder sb;
282 sb = new StringBuilder("o 1"); assertEquals("From: StringUtilities line: 659", false, trim(sb)); assertEquals("From: StringUtilities line: 659", "o 1", sb.toString());
283 sb = new StringBuilder(" o 1"); assertEquals("From: StringUtilities line: 660", true, trim(sb)); assertEquals("From: StringUtilities line: 660", "o 1", sb.toString());
284 sb = new StringBuilder("o 1 "); assertEquals("From: StringUtilities line: 661", true, trim(sb)); assertEquals("From: StringUtilities line: 661", "o 1", sb.toString());
285 sb = new StringBuilder(" o 1 "); assertEquals("From: StringUtilities line: 662", true, trim(sb)); assertEquals("From: StringUtilities line: 662", "o 1", sb.toString());
286 } }