forked from 131/lab5_ivec
2311
This commit is contained in:
@@ -162,6 +162,63 @@ test_vector_push_pop(const MunitParameter params[], void * data)
|
||||
return MUNIT_OK;
|
||||
}
|
||||
|
||||
static MunitResult
|
||||
test_vector_insert(const MunitParameter params[], void* data) {
|
||||
ivector v;
|
||||
vector_init(&v);
|
||||
|
||||
// Ð’Ñ<E28099>тавка в пуÑ<C692>той вектор
|
||||
vector_insert(&v, 0, 1);
|
||||
munit_assert_size(vector_len(&v), ==, 1);
|
||||
munit_assert_int(vector_get(&v, 0), ==, 1);
|
||||
|
||||
// Ð’Ñ<E28099>тавка в начало
|
||||
vector_insert(&v, 0, 2);
|
||||
munit_assert_size(vector_len(&v), ==, 2);
|
||||
munit_assert_int(vector_get(&v, 0), ==, 2);
|
||||
munit_assert_int(vector_get(&v, 1), ==, 1);
|
||||
|
||||
// Ð’Ñ<E28099>тавка в конец
|
||||
vector_insert(&v, 2, 3);
|
||||
munit_assert_size(vector_len(&v), ==, 3);
|
||||
munit_assert_int(vector_get(&v, 2), ==, 3);
|
||||
|
||||
// Ð’Ñ<E28099>тавка в Ñ<>ередину
|
||||
vector_insert(&v, 1, 4);
|
||||
munit_assert_size(vector_len(&v), ==, 4);
|
||||
munit_assert_int(vector_get(&v, 1), ==, 4);
|
||||
munit_assert_int(vector_get(&v, 2), ==, 1);
|
||||
|
||||
vector_free(&v);
|
||||
return MUNIT_OK;
|
||||
}
|
||||
|
||||
static MunitResult
|
||||
test_vector_del(const MunitParameter params[], void* data) {
|
||||
ivector v;
|
||||
int init[] = {1, 2, 3, 4, 5};
|
||||
vector_initdata(&v, init, ARRSZ(init));
|
||||
|
||||
// Удаление из начала
|
||||
vector_del(&v, 0);
|
||||
munit_assert_size(vector_len(&v), ==, 4);
|
||||
munit_assert_int(vector_get(&v, 0), ==, 2);
|
||||
|
||||
// Удаление из конца
|
||||
vector_del(&v, 3);
|
||||
munit_assert_size(vector_len(&v), ==, 3);
|
||||
munit_assert_int(vector_get(&v, 2), ==, 4);
|
||||
|
||||
// Удаление из Ñ<>ередины
|
||||
vector_del(&v, 1);
|
||||
munit_assert_size(vector_len(&v), ==, 2);
|
||||
munit_assert_int(vector_get(&v, 0), ==, 2);
|
||||
munit_assert_int(vector_get(&v, 1), ==, 4);
|
||||
|
||||
vector_free(&v);
|
||||
return MUNIT_OK;
|
||||
}
|
||||
|
||||
#define TEST_ITEM(func) {#func, func, NULL, NULL, MUNIT_TEST_OPTION_NONE }
|
||||
|
||||
static MunitTest test_suite_tests[] = {
|
||||
@@ -172,7 +229,8 @@ static MunitTest test_suite_tests[] = {
|
||||
TEST_ITEM(test_vector_resize),
|
||||
TEST_ITEM(test_vector_set_get),
|
||||
TEST_ITEM(test_vector_push_pop),
|
||||
|
||||
TEST_ITEM(test_vector_insert),
|
||||
TEST_ITEM(test_vector_del),
|
||||
{ NULL, NULL, NULL, NULL, MUNIT_TEST_OPTION_NONE, NULL }
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user