source: trunk/NewView/unittests/StringUtilsUnitTests.pas@ 35

Last change on this file since 35 was 35, checked in by RBRi, 19 years ago

+ StringUtilsUnit and the unit test
+ some More unit test (now we have 67)

  • Property svn:eol-style set to native
File size: 8.9 KB
Line 
1Unit StringUtilsUnitTests;
2
3Interface
4
5uses
6 Classes,
7 TestAssert,
8 StringUtilsUnit;
9
10 FUNCTION getStringUtilsUnitTests : TList;
11
12
13Implementation
14
15 PROCEDURE testTSerializableStringList_Construction;
16 VAR
17 tmpResult : TSerializableStringList;
18 BEGIN
19 tmpResult := TSerializableStringList.Create;
20
21 assertEqualsInt('testTSerializableStringList_Construction', 0, tmpResult.getCount);
22
23 tmpResult.Destroy;
24 END;
25
26
27 PROCEDURE testTSerializableStringList_Add;
28 VAR
29 tmpResult : TSerializableStringList;
30 BEGIN
31 tmpResult := TSerializableStringList.Create;
32
33 tmpResult.add('Test');
34 assertEqualsInt('testTSerializableStringList_Add', 1, tmpResult.getCount);
35
36 tmpResult.Destroy;
37 END;
38
39
40 PROCEDURE testTSerializableStringList_Get_Empty;
41 VAR
42 tmpResult : TSerializableStringList;
43 BEGIN
44 tmpResult := TSerializableStringList.Create;
45
46 assertEqualsInt('testTSerializableStringList_Get_Empty', 0, tmpResult.getCount);
47
48 try
49 tmpResult.get(0);
50 except
51 on e:EListError do
52 begin
53 assertEqualsString('testTSerializableStringList_Get', 'TList error exception (EListError) occured', e.message);
54 end;
55 end;
56
57 tmpResult.Destroy;
58 END;
59
60
61 PROCEDURE testTSerializableStringList_Get;
62 VAR
63 tmpResult : TSerializableStringList;
64 BEGIN
65 tmpResult := TSerializableStringList.Create;
66
67 tmpResult.add('First');
68 tmpResult.add('Second');
69 assertEqualsInt('testTSerializableStringList_Get', 2, tmpResult.getCount);
70 assertEqualsString('testTSerializableStringList_Get', 'First', tmpResult.get(0));
71
72 tmpResult.Destroy;
73 END;
74
75
76 PROCEDURE testTSerializableStringList_getSerializedString_Empty;
77 VAR
78 tmpResult : TSerializableStringList;
79 BEGIN
80 tmpResult := TSerializableStringList.Create;
81
82 assertEqualsString('testTSerializableStringList_getSerializedString_Empty', '', tmpResult.getSerializedString);
83
84 tmpResult.Destroy;
85 END;
86
87
88 PROCEDURE testTSerializableStringList_getSerializedString;
89 VAR
90 tmpResult : TSerializableStringList;
91 BEGIN
92 tmpResult := TSerializableStringList.Create;
93
94 tmpResult.add('First');
95 tmpResult.add('Second');
96 assertEqualsString('testTSerializableStringList_getSerializedString', 'First&Second', tmpResult.getSerializedString);
97
98 tmpResult.Destroy;
99 END;
100
101
102 PROCEDURE testTSerializableStringList_getSerializedString_WithBlanks;
103 VAR
104 tmpResult : TSerializableStringList;
105 BEGIN
106 tmpResult := TSerializableStringList.Create;
107
108 tmpResult.add('Fi rst');
109 tmpResult.add('Second');
110 assertEqualsString('testTSerializableStringList_getSerializedString_WithBlanks', 'Fi rst&Second', tmpResult.getSerializedString);
111
112 tmpResult.Destroy;
113 END;
114
115
116 PROCEDURE testTSerializableStringList_getSerializedString_Escaping;
117 VAR
118 tmpResult : TSerializableStringList;
119 BEGIN
120 tmpResult := TSerializableStringList.Create;
121
122 tmpResult.add('F&i"r''st');
123 tmpResult.add('Sec&ond');
124 assertEqualsString('testTSerializableStringList_getSerializedString_WithBlanks', 'F\&i"r''st&Sec\&ond', tmpResult.getSerializedString);
125
126 tmpResult.Destroy;
127 END;
128
129
130 PROCEDURE testTSerializableStringList_readValuesFromSerializedString;
131 VAR
132 tmpResult : TSerializableStringList;
133 tmpSerialized : String;
134 BEGIN
135 tmpResult := TSerializableStringList.Create;
136
137 tmpSerialized := 'First&Second';
138
139 tmpResult.readValuesFromSerializedString(tmpSerialized);
140
141 assertEqualsInt('testTSerializableStringList_readValuesFromSerializedString', 2, tmpResult.getCount);
142 assertEqualsString('testTSerializableStringList_readValuesFromSerializedString', 'First', tmpResult.get(0));
143 assertEqualsString('testTSerializableStringList_readValuesFromSerializedString', 'Second', tmpResult.get(1));
144
145 tmpResult.Destroy;
146 END;
147
148
149 PROCEDURE testTSerializableStringList_readValuesFromSerializedString_quoted;
150 VAR
151 tmpResult : TSerializableStringList;
152 tmpSerialized : String;
153 BEGIN
154 tmpResult := TSerializableStringList.Create;
155
156 tmpSerialized := 'Fi\\nrst&Se\&cond';
157
158 tmpResult.readValuesFromSerializedString(tmpSerialized);
159
160 assertEqualsInt('testTSerializableStringList_readValuesFromSerializedString_quoted', 2, tmpResult.getCount);
161 assertEqualsString('testTSerializableStringList_readValuesFromSerializedString_quoted', 'Fi\nrst', tmpResult.get(0));
162 assertEqualsString('testTSerializableStringList_readValuesFromSerializedString_quoted', 'Se&cond', tmpResult.get(1));
163
164 tmpResult.Destroy;
165 END;
166
167
168 PROCEDURE testTSerializableStringList_readValuesFromSerializedString_empty;
169 VAR
170 tmpResult : TSerializableStringList;
171 tmpSerialized : String;
172 BEGIN
173 tmpResult := TSerializableStringList.Create;
174
175 tmpSerialized := '';
176
177 tmpResult.readValuesFromSerializedString(tmpSerialized);
178
179 assertEqualsInt('testTSerializableStringList_readValuesFromSerializedString_empty', 0, tmpResult.getCount);
180
181 tmpResult.Destroy;
182 END;
183
184
185 PROCEDURE testTSerializableStringList_readValuesFromSerializedString_firstempty;
186 VAR
187 tmpResult : TSerializableStringList;
188 tmpSerialized : String;
189 BEGIN
190 tmpResult := TSerializableStringList.Create;
191
192 tmpResult.add('');
193 tmpResult.add('test');
194
195 tmpSerialized := tmpResult.getSerializedString;
196
197 tmpResult.readValuesFromSerializedString(tmpSerialized);
198
199 assertEqualsInt('testTSerializableStringList_readValuesFromSerializedString_firstempty', 2, tmpResult.getCount);
200 assertEqualsString('testTSerializableStringList_readValuesFromSerializedString_firstempty', '', tmpResult.get(0));
201 assertEqualsString('testTSerializableStringList_readValuesFromSerializedString_firstempty', 'test', tmpResult.get(1));
202
203 tmpResult.Destroy;
204 END;
205
206
207 PROCEDURE testTSerializableStringList_readValuesFromSerializedString_2;
208 VAR
209 tmpResult : TSerializableStringList;
210 tmpSerialized : String;
211 BEGIN
212 tmpResult := TSerializableStringList.Create;
213
214 tmpResult.add('&test&');
215 tmpResult.add('"test"');
216 tmpResult.add('');
217 tmpResult.add('abc\&');
218 tmpResult.add('');
219
220 tmpSerialized := tmpResult.getSerializedString;
221
222 tmpResult.readValuesFromSerializedString(tmpSerialized);
223
224 assertEqualsInt('testTSerializableStringList_readValuesFromSerializedString_2', 5, tmpResult.getCount);
225 assertEqualsString('testTSerializableStringList_readValuesFromSerializedString_2', '&test&', tmpResult.get(0));
226 assertEqualsString('testTSerializableStringList_readValuesFromSerializedString_2', '"test"', tmpResult.get(1));
227 assertEqualsString('testTSerializableStringList_readValuesFromSerializedString_2', '', tmpResult.get(2));
228 assertEqualsString('testTSerializableStringList_readValuesFromSerializedString_2', 'abc\&', tmpResult.get(3));
229 assertEqualsString('testTSerializableStringList_readValuesFromSerializedString_2', '', tmpResult.get(4));
230
231 tmpResult.Destroy;
232 END;
233
234
235 // ------------------------------------------------------
236
237
238 PROCEDURE testEscapeAllCharsBy_Empty;
239 VAR
240 tmpResult : String;
241 BEGIN
242 tmpResult := escapeAllCharsBy('', 'b', '\');
243
244 assertEqualsString('testEscapeAllCharsBy_Empty', '', tmpResult);
245 END;
246
247
248 PROCEDURE testEscapeAllCharsBy_EmptyChars;
249 VAR
250 tmpResult : String;
251 BEGIN
252 tmpResult := escapeAllCharsBy('abcd', '', '\');
253
254 assertEqualsString('testEscapeAllCharsBy_EmptyChars', '', tmpResult);
255 END;
256
257
258 PROCEDURE testEscapeAllCharsBy;
259 VAR
260 tmpResult : String;
261 BEGIN
262 tmpResult := escapeAllCharsBy('abc', 'b', '\');
263
264 assertEqualsString('testEscapeAllCharsBy', 'a\bc', tmpResult);
265 END;
266
267
268 PROCEDURE testEscapeAllCharsBy_EscapeEscape;
269 VAR
270 tmpResult : String;
271 BEGIN
272 tmpResult := escapeAllCharsBy('a\bc', 'b', '\');
273
274 assertEqualsString('testEscapeAllCharsBy', 'a\\\bc', tmpResult);
275 END;
276
277
278 // ----------------------------------------------------------
279
280
281 FUNCTION getStringUtilsUnitTests : TList;
282 BEGIN
283 result := TList.Create;
284
285 result.add(@testTSerializableStringList_Construction);
286 result.add(@testTSerializableStringList_Add);
287 result.add(@testTSerializableStringList_Get_Empty);
288 result.add(@testTSerializableStringList_Get);
289 result.add(@testTSerializableStringList_getSerializedString_Empty);
290 result.add(@testTSerializableStringList_getSerializedString);
291 result.add(@testTSerializableStringList_getSerializedString);
292 result.add(@testTSerializableStringList_getSerializedString_WithBlanks);
293 result.add(@testTSerializableStringList_getSerializedString_Escaping);
294 result.add(@testTSerializableStringList_readValuesFromSerializedString);
295 result.add(@testTSerializableStringList_readValuesFromSerializedString_quoted);
296 result.add(@testTSerializableStringList_readValuesFromSerializedString_empty);
297 result.add(@testTSerializableStringList_readValuesFromSerializedString_firstempty);
298 result.add(@testTSerializableStringList_readValuesFromSerializedString_2);
299
300 result.add(@testEscapeAllCharsBy);
301 result.add(@testEscapeAllCharsBy_Empty);
302 result.add(@testEscapeAllCharsBy_EmptyChars);
303 result.add(@testEscapeAllCharsBy_EscapeEscape);
304 END;
305
306END.
Note: See TracBrowser for help on using the repository browser.