44 #include "CUnit/Basic.h"
61 static void TestStrAppend()
74 CU_ASSERT_PTR_NULL(result);
79 CU_ASSERT_STRING_EQUAL(result,
"xyzzy");
85 CU_ASSERT_STRING_EQUAL(result,
"xyzzy");
87 CU_ASSERT_STRING_EQUAL(result,
"xyzzy");
89 CU_ASSERT_STRING_EQUAL(result,
"xyzzyplugh");
96 CU_ASSERT_STRING_EQUAL(result,
"xyzzy");
109 static void TestStrArglistAddFree()
116 CU_ASSERT_PTR_NOT_NULL(argv);
117 CU_ASSERT_PTR_NOT_NULL(argv[0]);
118 CU_ASSERT_PTR_NULL(argv[1]);
119 CU_ASSERT_STRING_EQUAL(argv[0],
"alpha");
124 CU_ASSERT_PTR_NOT_NULL(argv);
125 CU_ASSERT_PTR_NOT_NULL(argv[0]);
126 CU_ASSERT_PTR_NOT_NULL(argv[1]);
127 CU_ASSERT_PTR_NULL(argv[2]);
128 CU_ASSERT_STRING_EQUAL(argv[0],
"alpha");
129 CU_ASSERT_STRING_EQUAL(argv[1],
"beta");
134 CU_ASSERT_PTR_NOT_NULL(argv);
135 CU_ASSERT_PTR_NOT_NULL(argv[0]);
136 CU_ASSERT_PTR_NOT_NULL(argv[1]);
137 CU_ASSERT_PTR_NOT_NULL(argv[2]);
138 CU_ASSERT_PTR_NULL(argv[3]);
139 CU_ASSERT_STRING_EQUAL(argv[0],
"alpha");
140 CU_ASSERT_STRING_EQUAL(argv[1],
"beta");
141 CU_ASSERT_STRING_EQUAL(argv[2],
"gamma");
146 CU_ASSERT_PTR_NULL(argv);
156 static void TestStrArglistCreate()
164 CU_ASSERT_PTR_NOT_NULL(argv);
165 CU_ASSERT_PTR_NULL(argv[0]);
167 CU_ASSERT_PTR_NULL(argv);
170 CU_ASSERT_PTR_NOT_NULL(argv);
171 CU_ASSERT_PTR_NULL(argv[0]);
173 CU_ASSERT_PTR_NULL(argv);
176 CU_ASSERT_PTR_NOT_NULL(argv);
177 CU_ASSERT_PTR_NULL(argv[0]);
179 CU_ASSERT_PTR_NULL(argv);
184 CU_ASSERT_PTR_NOT_NULL(argv);
185 CU_ASSERT_PTR_NOT_NULL(argv[0]);
186 CU_ASSERT_STRING_EQUAL(argv[0],
"list");
187 CU_ASSERT_PTR_NOT_NULL(argv[1]);
188 CU_ASSERT_STRING_EQUAL(argv[1],
"zone");
189 CU_ASSERT_PTR_NOT_NULL(argv[2]);
190 CU_ASSERT_STRING_EQUAL(argv[2],
"-f");
191 CU_ASSERT_PTR_NOT_NULL(argv[3]);
192 CU_ASSERT_STRING_EQUAL(argv[3],
"-c");
193 CU_ASSERT_PTR_NOT_NULL(argv[4]);
194 CU_ASSERT_STRING_EQUAL(argv[4],
"co.uk");
195 CU_ASSERT_PTR_NULL(argv[5]);
197 CU_ASSERT_PTR_NULL(argv);
200 CU_ASSERT_PTR_NOT_NULL(argv);
201 CU_ASSERT_PTR_NOT_NULL(argv[0]);
202 CU_ASSERT_STRING_EQUAL(argv[0],
"add");
203 CU_ASSERT_PTR_NOT_NULL(argv[1]);
204 CU_ASSERT_STRING_EQUAL(argv[1],
"signature");
205 CU_ASSERT_PTR_NOT_NULL(argv[2]);
206 CU_ASSERT_STRING_EQUAL(argv[2],
"-z");
207 CU_ASSERT_PTR_NOT_NULL(argv[3]);
208 CU_ASSERT_STRING_EQUAL(argv[3],
"co.uk");
209 CU_ASSERT_PTR_NOT_NULL(argv[4]);
210 CU_ASSERT_STRING_EQUAL(argv[4],
"-d");
211 CU_ASSERT_PTR_NOT_NULL(argv[5]);
212 CU_ASSERT_STRING_EQUAL(argv[5],
"alpha.dat");
213 CU_ASSERT_PTR_NOT_NULL(argv[6]);
214 CU_ASSERT_STRING_EQUAL(argv[6],
"fred");
215 CU_ASSERT_PTR_NULL(argv[7]);
217 CU_ASSERT_PTR_NULL(argv);
225 static void TestStrKeywordSearch()
237 CU_ASSERT_EQUAL(status, 0);
238 CU_ASSERT_EQUAL(value, 5);
241 CU_ASSERT_EQUAL(status, 0);
242 CU_ASSERT_EQUAL(value, 15);
245 CU_ASSERT_EQUAL(status, -2);
248 CU_ASSERT_EQUAL(status, -1);
251 CU_ASSERT_EQUAL(status, -2);
254 CU_ASSERT_EQUAL(status, -1);
263 static void TestStrStrtol()
269 CU_ASSERT_EQUAL(status, 0);
270 CU_ASSERT_EQUAL(value, 23L);
273 CU_ASSERT_EQUAL(status, 0);
274 CU_ASSERT_EQUAL(value, 34L);
277 CU_ASSERT_EQUAL(status, 0);
278 CU_ASSERT_EQUAL(value, 56L);
281 CU_ASSERT_EQUAL(status, 0);
282 CU_ASSERT_EQUAL(value, -67L);
285 CU_ASSERT_NOT_EQUAL(status, 0);
288 CU_ASSERT_NOT_EQUAL(status, 0);
291 CU_ASSERT_NOT_EQUAL(status, 0);
294 CU_ASSERT_NOT_EQUAL(status, 0);
305 static void TestStrStrtoul()
315 CU_ASSERT_EQUAL(status, 0);
316 CU_ASSERT_EQUAL(value, 23L);
319 CU_ASSERT_EQUAL(status, 0);
320 CU_ASSERT_EQUAL(value, 34L);
323 CU_ASSERT_EQUAL(status, 0);
324 CU_ASSERT_EQUAL(value, 56L);
327 CU_ASSERT_EQUAL(status, 0);
328 combined.ulong = value;
329 CU_ASSERT_EQUAL(combined.slong, -1);
332 CU_ASSERT_EQUAL(status, 0);
333 combined.ulong = value;
334 CU_ASSERT_EQUAL(combined.slong, -277983);
337 CU_ASSERT_NOT_EQUAL(status, 0);
340 CU_ASSERT_NOT_EQUAL(status, 0);
343 CU_ASSERT_NOT_EQUAL(status, 0);
346 CU_ASSERT_NOT_EQUAL(status, 0);
355 static void TestStrStrtoi()
361 CU_ASSERT_EQUAL(status, 0);
362 CU_ASSERT_EQUAL(value, 23);
365 CU_ASSERT_EQUAL(status, 0);
366 CU_ASSERT_EQUAL(value, 34);
369 CU_ASSERT_EQUAL(status, 0);
370 CU_ASSERT_EQUAL(value, 56);
373 CU_ASSERT_EQUAL(status, 0);
374 CU_ASSERT_EQUAL(value, -67);
377 CU_ASSERT_NOT_EQUAL(status, 0);
380 CU_ASSERT_NOT_EQUAL(status, 0);
383 CU_ASSERT_NOT_EQUAL(status, 0);
386 CU_ASSERT_NOT_EQUAL(status, 0);
395 static void TestStrIsDigits()
430 {
"StrAppend", TestStrAppend},
431 {
"StrArglistAddFree", TestStrArglistAddFree},
432 {
"StrArglistCreate", TestStrArglistCreate},
433 {
"StrKeywordSearch", TestStrKeywordSearch},
434 {
"StrStrtol", TestStrStrtol},
435 {
"StrStrtoul", TestStrStrtoul},
436 {
"StrStrtoi", TestStrStrtoi},
437 {
"StrIsDigits", TestStrIsDigits},
int StrIsDigits(const char *string)
int TcuCreateSuite(const char *title, int(*init)(), int(*teardown)(), struct test_testdef *tests)
int StrStrtol(const char *string, long *value)
char * StrStrdup(const char *string)
void StrArglistFree(char ***argv)
void StrAppend(char **str1, const char *str2)
int StrStrtoi(const char *string, int *value)
int StrKeywordSearch(const char *search, STR_KEYWORD_ELEMENT *keywords, int *value)
void StrArglistAdd(char ***argv, const char *string)
int StrStrtoul(const char *string, unsigned long *value)
char ** StrArglistCreate(const char *string)