42 #include "CUnit/Basic.h"
59 static void TestStrAppend()
72 CU_ASSERT_PTR_NULL(result);
77 CU_ASSERT_STRING_EQUAL(result,
"xyzzy");
83 CU_ASSERT_STRING_EQUAL(result,
"xyzzy");
85 CU_ASSERT_STRING_EQUAL(result,
"xyzzy");
87 CU_ASSERT_STRING_EQUAL(result,
"xyzzyplugh");
94 CU_ASSERT_STRING_EQUAL(result,
"xyzzy");
107 static void TestStrArglistAddFree()
114 CU_ASSERT_PTR_NOT_NULL(argv);
115 CU_ASSERT_PTR_NOT_NULL(argv[0]);
116 CU_ASSERT_PTR_NULL(argv[1]);
117 CU_ASSERT_STRING_EQUAL(argv[0],
"alpha");
122 CU_ASSERT_PTR_NOT_NULL(argv);
123 CU_ASSERT_PTR_NOT_NULL(argv[0]);
124 CU_ASSERT_PTR_NOT_NULL(argv[1]);
125 CU_ASSERT_PTR_NULL(argv[2]);
126 CU_ASSERT_STRING_EQUAL(argv[0],
"alpha");
127 CU_ASSERT_STRING_EQUAL(argv[1],
"beta");
132 CU_ASSERT_PTR_NOT_NULL(argv);
133 CU_ASSERT_PTR_NOT_NULL(argv[0]);
134 CU_ASSERT_PTR_NOT_NULL(argv[1]);
135 CU_ASSERT_PTR_NOT_NULL(argv[2]);
136 CU_ASSERT_PTR_NULL(argv[3]);
137 CU_ASSERT_STRING_EQUAL(argv[0],
"alpha");
138 CU_ASSERT_STRING_EQUAL(argv[1],
"beta");
139 CU_ASSERT_STRING_EQUAL(argv[2],
"gamma");
144 CU_ASSERT_PTR_NULL(argv);
154 static void TestStrArglistCreate()
162 CU_ASSERT_PTR_NOT_NULL(argv);
163 CU_ASSERT_PTR_NULL(argv[0]);
165 CU_ASSERT_PTR_NULL(argv);
168 CU_ASSERT_PTR_NOT_NULL(argv);
169 CU_ASSERT_PTR_NULL(argv[0]);
171 CU_ASSERT_PTR_NULL(argv);
174 CU_ASSERT_PTR_NOT_NULL(argv);
175 CU_ASSERT_PTR_NULL(argv[0]);
177 CU_ASSERT_PTR_NULL(argv);
182 CU_ASSERT_PTR_NOT_NULL(argv);
183 CU_ASSERT_PTR_NOT_NULL(argv[0]);
184 CU_ASSERT_STRING_EQUAL(argv[0],
"list");
185 CU_ASSERT_PTR_NOT_NULL(argv[1]);
186 CU_ASSERT_STRING_EQUAL(argv[1],
"zone");
187 CU_ASSERT_PTR_NOT_NULL(argv[2]);
188 CU_ASSERT_STRING_EQUAL(argv[2],
"-f");
189 CU_ASSERT_PTR_NOT_NULL(argv[3]);
190 CU_ASSERT_STRING_EQUAL(argv[3],
"-c");
191 CU_ASSERT_PTR_NOT_NULL(argv[4]);
192 CU_ASSERT_STRING_EQUAL(argv[4],
"co.uk");
193 CU_ASSERT_PTR_NULL(argv[5]);
195 CU_ASSERT_PTR_NULL(argv);
198 CU_ASSERT_PTR_NOT_NULL(argv);
199 CU_ASSERT_PTR_NOT_NULL(argv[0]);
200 CU_ASSERT_STRING_EQUAL(argv[0],
"add");
201 CU_ASSERT_PTR_NOT_NULL(argv[1]);
202 CU_ASSERT_STRING_EQUAL(argv[1],
"signature");
203 CU_ASSERT_PTR_NOT_NULL(argv[2]);
204 CU_ASSERT_STRING_EQUAL(argv[2],
"-z");
205 CU_ASSERT_PTR_NOT_NULL(argv[3]);
206 CU_ASSERT_STRING_EQUAL(argv[3],
"co.uk");
207 CU_ASSERT_PTR_NOT_NULL(argv[4]);
208 CU_ASSERT_STRING_EQUAL(argv[4],
"-d");
209 CU_ASSERT_PTR_NOT_NULL(argv[5]);
210 CU_ASSERT_STRING_EQUAL(argv[5],
"alpha.dat");
211 CU_ASSERT_PTR_NOT_NULL(argv[6]);
212 CU_ASSERT_STRING_EQUAL(argv[6],
"fred");
213 CU_ASSERT_PTR_NULL(argv[7]);
215 CU_ASSERT_PTR_NULL(argv);
223 static void TestStrKeywordSearch()
235 CU_ASSERT_EQUAL(status, 0);
236 CU_ASSERT_EQUAL(value, 5);
239 CU_ASSERT_EQUAL(status, 0);
240 CU_ASSERT_EQUAL(value, 15);
243 CU_ASSERT_EQUAL(status, -2);
246 CU_ASSERT_EQUAL(status, -1);
249 CU_ASSERT_EQUAL(status, -2);
252 CU_ASSERT_EQUAL(status, -1);
261 static void TestStrStrtol()
267 CU_ASSERT_EQUAL(status, 0);
268 CU_ASSERT_EQUAL(value, 23L);
271 CU_ASSERT_EQUAL(status, 0);
272 CU_ASSERT_EQUAL(value, 34L);
275 CU_ASSERT_EQUAL(status, 0);
276 CU_ASSERT_EQUAL(value, 56L);
279 CU_ASSERT_EQUAL(status, 0);
280 CU_ASSERT_EQUAL(value, -67L);
283 CU_ASSERT_NOT_EQUAL(status, 0);
286 CU_ASSERT_NOT_EQUAL(status, 0);
289 CU_ASSERT_NOT_EQUAL(status, 0);
292 CU_ASSERT_NOT_EQUAL(status, 0);
303 static void TestStrStrtoul()
313 CU_ASSERT_EQUAL(status, 0);
314 CU_ASSERT_EQUAL(value, 23L);
317 CU_ASSERT_EQUAL(status, 0);
318 CU_ASSERT_EQUAL(value, 34L);
321 CU_ASSERT_EQUAL(status, 0);
322 CU_ASSERT_EQUAL(value, 56L);
325 CU_ASSERT_EQUAL(status, 0);
326 combined.ulong = value;
327 CU_ASSERT_EQUAL(combined.slong, -1);
330 CU_ASSERT_EQUAL(status, 0);
331 combined.ulong = value;
332 CU_ASSERT_EQUAL(combined.slong, -277983);
335 CU_ASSERT_NOT_EQUAL(status, 0);
338 CU_ASSERT_NOT_EQUAL(status, 0);
341 CU_ASSERT_NOT_EQUAL(status, 0);
344 CU_ASSERT_NOT_EQUAL(status, 0);
353 static void TestStrStrtoi()
359 CU_ASSERT_EQUAL(status, 0);
360 CU_ASSERT_EQUAL(value, 23);
363 CU_ASSERT_EQUAL(status, 0);
364 CU_ASSERT_EQUAL(value, 34);
367 CU_ASSERT_EQUAL(status, 0);
368 CU_ASSERT_EQUAL(value, 56);
371 CU_ASSERT_EQUAL(status, 0);
372 CU_ASSERT_EQUAL(value, -67);
375 CU_ASSERT_NOT_EQUAL(status, 0);
378 CU_ASSERT_NOT_EQUAL(status, 0);
381 CU_ASSERT_NOT_EQUAL(status, 0);
384 CU_ASSERT_NOT_EQUAL(status, 0);
393 static void TestStrIsDigits()
428 {
"StrAppend", TestStrAppend},
429 {
"StrArglistAddFree", TestStrArglistAddFree},
430 {
"StrArglistCreate", TestStrArglistCreate},
431 {
"StrKeywordSearch", TestStrKeywordSearch},
432 {
"StrStrtol", TestStrStrtol},
433 {
"StrStrtoul", TestStrStrtoul},
434 {
"StrStrtoi", TestStrStrtoi},
435 {
"StrIsDigits", TestStrIsDigits},