/** Run unit tests for basic dynamic-sized array functionality. */ static void test_container_smartlist_basic(void *arg) { smartlist_t *sl; char *v0 = tor_strdup("v0"); char *v1 = tor_strdup("v1"); char *v2 = tor_strdup("v2"); char *v3 = tor_strdup("v3"); char *v4 = tor_strdup("v4"); char *v22 = tor_strdup("v22"); char *v99 = tor_strdup("v99"); char *v555 = tor_strdup("v555"); /* XXXX test sort_digests, uniq_strings, uniq_digests */ /* Test smartlist add, del_keeporder, insert, get. */ (void)arg; sl = smartlist_new(); smartlist_add(sl, v1); smartlist_add(sl, v2); smartlist_add(sl, v3); smartlist_add(sl, v4); smartlist_del_keeporder(sl, 1); smartlist_insert(sl, 1, v22); smartlist_insert(sl, 0, v0); smartlist_insert(sl, 5, v555); tt_ptr_op(v0,OP_EQ, smartlist_get(sl,0)); tt_ptr_op(v1,OP_EQ, smartlist_get(sl,1)); tt_ptr_op(v22,OP_EQ, smartlist_get(sl,2)); tt_ptr_op(v3,OP_EQ, smartlist_get(sl,3)); tt_ptr_op(v4,OP_EQ, smartlist_get(sl,4)); tt_ptr_op(v555,OP_EQ, smartlist_get(sl,5)); /* Try deleting in the middle. */ smartlist_del(sl, 1); tt_ptr_op(v555,OP_EQ, smartlist_get(sl, 1)); /* Try deleting at the end. */ smartlist_del(sl, 4); tt_int_op(4,OP_EQ, smartlist_len(sl)); /* test isin. */ tt_assert(smartlist_contains(sl, v3)); tt_assert(!smartlist_contains(sl, v99)); done: smartlist_free(sl); tor_free(v0); tor_free(v1); tor_free(v2); tor_free(v3); tor_free(v4); tor_free(v22); tor_free(v99); tor_free(v555); }
/** Run unit tests for basic dynamic-sized array functionality. */ static void test_container_smartlist_basic(void) { smartlist_t *sl; /* XXXX test sort_digests, uniq_strings, uniq_digests */ /* Test smartlist add, del_keeporder, insert, get. */ sl = smartlist_new(); smartlist_add(sl, (void*)1); smartlist_add(sl, (void*)2); smartlist_add(sl, (void*)3); smartlist_add(sl, (void*)4); smartlist_del_keeporder(sl, 1); smartlist_insert(sl, 1, (void*)22); smartlist_insert(sl, 0, (void*)0); smartlist_insert(sl, 5, (void*)555); test_eq_ptr((void*)0, smartlist_get(sl,0)); test_eq_ptr((void*)1, smartlist_get(sl,1)); test_eq_ptr((void*)22, smartlist_get(sl,2)); test_eq_ptr((void*)3, smartlist_get(sl,3)); test_eq_ptr((void*)4, smartlist_get(sl,4)); test_eq_ptr((void*)555, smartlist_get(sl,5)); /* Try deleting in the middle. */ smartlist_del(sl, 1); test_eq_ptr((void*)555, smartlist_get(sl, 1)); /* Try deleting at the end. */ smartlist_del(sl, 4); test_eq(4, smartlist_len(sl)); /* test isin. */ test_assert(smartlist_contains(sl, (void*)3)); test_assert(!smartlist_contains(sl, (void*)99)); done: smartlist_free(sl); }
/** Run unit tests for basic dynamic-sized array functionality. */ static void test_container_smartlist_basic(void *unused) { smartlist_t *sl; /* XXXX test sort_digests, uniq_strings, uniq_digests */ /* Test smartlist add, del_keeporder, insert, get. */ sl = smartlist_create(); smartlist_add(sl, (void*)1); smartlist_add(sl, (void*)2); smartlist_add(sl, (void*)3); smartlist_add(sl, (void*)4); smartlist_del_keeporder(sl, 1); smartlist_insert(sl, 1, (void*)22); smartlist_insert(sl, 0, (void*)0); smartlist_insert(sl, 5, (void*)555); tt_ptr_op(smartlist_get(sl,0), ==, (void*)0); tt_ptr_op(smartlist_get(sl,1), ==, (void*)1); tt_ptr_op(smartlist_get(sl,2), ==, (void*)22); tt_ptr_op(smartlist_get(sl,3), ==, (void*)3); tt_ptr_op(smartlist_get(sl,4), ==, (void*)4); tt_ptr_op(smartlist_get(sl,5), ==, (void*)555); /* Try deleting in the middle. */ smartlist_del(sl, 1); tt_ptr_op(smartlist_get(sl, 1), ==, (void*)555); /* Try deleting at the end. */ smartlist_del(sl, 4); tt_int_op(smartlist_len(sl), ==, 4); /* test isin. */ tt_assert(smartlist_isin(sl, (void*)3)); tt_assert(!smartlist_isin(sl, (void*)99)); end: smartlist_free(sl); }