Changeset c2d50c8 in mainline for uspace/lib/c/test/dyn_array.c


Ignore:
Timestamp:
2019-08-06T18:29:48Z (5 years ago)
Author:
Matthieu Riolo <matthieu.riolo@…>
Children:
72c8f77
Parents:
73f7c4e
git-author:
Michal Koutný <xm.koutny+hos@…> (2015-05-26 16:12:03)
git-committer:
Matthieu Riolo <matthieu.riolo@…> (2019-08-06 18:29:48)
Message:

dyn_array: Add concat and clear_range operations

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/test/dyn_array.c

    r73f7c4e rc2d50c8  
    136136}
    137137
     138PCUT_TEST(clear_range_middle) {
     139        dyn_array_append(&da, data_t, 10);
     140        dyn_array_append(&da, data_t, 11);
     141        dyn_array_append(&da, data_t, 12);
     142        dyn_array_append(&da, data_t, 99);
     143
     144        dyn_array_clear_range(&da, 1, 3);
     145        PCUT_ASSERT_INT_EQUALS(2, da.size);
     146        PCUT_ASSERT_INT_EQUALS(10, dyn_array_at(&da, data_t, 0));
     147        PCUT_ASSERT_INT_EQUALS(99, dyn_array_at(&da, data_t, 1));
     148}
     149
     150PCUT_TEST(clear_range_begin) {
     151        dyn_array_append(&da, data_t, 10);
     152        dyn_array_append(&da, data_t, 11);
     153        dyn_array_append(&da, data_t, 12);
     154        dyn_array_append(&da, data_t, 99);
     155
     156        dyn_array_clear_range(&da, 0, 2);
     157        PCUT_ASSERT_INT_EQUALS(2, da.size);
     158        PCUT_ASSERT_INT_EQUALS(12, dyn_array_at(&da, data_t, 0));
     159        PCUT_ASSERT_INT_EQUALS(99, dyn_array_at(&da, data_t, 1));
     160}
     161
     162PCUT_TEST(clear_range_end) {
     163        dyn_array_append(&da, data_t, 10);
     164        dyn_array_append(&da, data_t, 11);
     165        dyn_array_append(&da, data_t, 12);
     166        dyn_array_append(&da, data_t, 99);
     167
     168        dyn_array_clear_range(&da, 2, 4);
     169        PCUT_ASSERT_INT_EQUALS(2, da.size);
     170        PCUT_ASSERT_INT_EQUALS(10, dyn_array_at(&da, data_t, 0));
     171        PCUT_ASSERT_INT_EQUALS(11, dyn_array_at(&da, data_t, 1));
     172}
     173
     174PCUT_TEST(clear_range_empty) {
     175        dyn_array_append(&da, data_t, 10);
     176        dyn_array_append(&da, data_t, 99);
     177
     178        dyn_array_clear_range(&da, 0, 0);
     179        PCUT_ASSERT_INT_EQUALS(2, da.size);
     180        PCUT_ASSERT_INT_EQUALS(10, dyn_array_at(&da, data_t, 0));
     181        PCUT_ASSERT_INT_EQUALS(99, dyn_array_at(&da, data_t, 1));
     182}
     183
     184PCUT_TEST(concat_simple) {
     185        dyn_array_append(&da, data_t, 10);
     186        dyn_array_append(&da, data_t, 99);
     187
     188        dyn_array_t da2;
     189        dyn_array_initialize(&da2, data_t);
     190        dyn_array_append(&da2, data_t, 30);
     191        dyn_array_append(&da2, data_t, 31);
     192
     193        dyn_array_concat(&da, &da2);
     194        PCUT_ASSERT_INT_EQUALS(4, da.size);
     195        PCUT_ASSERT_INT_EQUALS(2, da2.size);
     196
     197        PCUT_ASSERT_INT_EQUALS(10, dyn_array_at(&da, data_t, 0));
     198        PCUT_ASSERT_INT_EQUALS(99, dyn_array_at(&da, data_t, 1));
     199        PCUT_ASSERT_INT_EQUALS(30, dyn_array_at(&da, data_t, 2));
     200        PCUT_ASSERT_INT_EQUALS(31, dyn_array_at(&da, data_t, 3));
     201
     202        dyn_array_destroy(&da2);
     203}
     204PCUT_TEST(concat_self) {
     205        dyn_array_append(&da, data_t, 10);
     206        dyn_array_append(&da, data_t, 99);
     207
     208        dyn_array_concat(&da, &da);
     209        PCUT_ASSERT_INT_EQUALS(4, da.size);
     210
     211        PCUT_ASSERT_INT_EQUALS(10, dyn_array_at(&da, data_t, 0));
     212        PCUT_ASSERT_INT_EQUALS(99, dyn_array_at(&da, data_t, 1));
     213        PCUT_ASSERT_INT_EQUALS(10, dyn_array_at(&da, data_t, 2));
     214        PCUT_ASSERT_INT_EQUALS(99, dyn_array_at(&da, data_t, 3));
     215}
     216
    138217PCUT_EXPORT(dyn_array);
Note: See TracChangeset for help on using the changeset viewer.