- for (cpt=2000; cpt< 4000; cpt++) {
- xbt_dynar_remove_at(d,2000,&i);
- xbt_test_assert2(i == cpt,
- "Remove a bad value. Got %d, expected %d",
- i,cpt);
- DEBUG2("remove %d, length=%lu",cpt, xbt_dynar_length(d));
+ xbt_test_add("==== Insert %d int, traverse them, remove them",NB_ELEM);
+ /* Populate_ints [doxygen cruft] */
+ /* 1. Populate the dynar */
+ for (cpt = 0; cpt < NB_ELEM; cpt++) {
+ xbt_dynar_insert_at(d, cpt, &cpt);
+ xbt_test_log("Push %d, length=%lu", cpt, xbt_dynar_length(d));
+ }
+
+ /* 3. Traverse the dynar */
+ xbt_dynar_foreach(d, cursor, cpt) {
+ xbt_test_assert(cursor == cpt,
+ "The retrieved value is not the same than the injected one (%u!=%d)",
+ cursor, cpt);
+ }
+ /* end_of_traversal */
+
+ /* Re-fill with the same values using set_as (and re-verify) */
+ for (cpt = 0; cpt < NB_ELEM; cpt++)
+ xbt_dynar_set_as(d, cpt, int, cpt);
+ xbt_dynar_foreach(d, cursor, cpt)
+ xbt_test_assert(cursor == cpt,
+ "The retrieved value is not the same than the injected one (%u!=%d)",
+ cursor, cpt);
+
+ for (cpt = 0; cpt < NB_ELEM; cpt++) {
+ int val;
+ xbt_dynar_remove_at(d,0,&val);
+ xbt_test_assert(cpt == val,
+ "The retrieved value is not the same than the injected one (%u!=%d)",
+ cursor, cpt);