forked from 131/lab5_ivec
Дописал необходимые функции и добавил тесты
This commit is contained in:
@@ -5,6 +5,59 @@
|
||||
#include "macro.h"
|
||||
#include "munit/munit.h"
|
||||
|
||||
|
||||
static MunitResult
|
||||
test_vector_insert(const MunitParameter params[], void * data)
|
||||
{
|
||||
ivector v;
|
||||
vector_init(&v);
|
||||
|
||||
vector_push(&v, 1);
|
||||
vector_push(&v, 2);
|
||||
vector_push(&v, 3);
|
||||
vector_push(&v, 4);
|
||||
|
||||
vector_insert(&v, 2, 99);
|
||||
|
||||
int *p = vector_data(&v);
|
||||
|
||||
munit_assert_int(p[0], ==, 1);
|
||||
munit_assert_int(p[1], ==, 2);
|
||||
munit_assert_int(p[2], ==, 99);
|
||||
munit_assert_int(p[3], ==, 3);
|
||||
munit_assert_int(p[4], ==, 4);
|
||||
munit_assert_size(vector_len(&v), ==, 5);
|
||||
|
||||
vector_free(&v);
|
||||
return MUNIT_OK;
|
||||
}
|
||||
|
||||
static MunitResult
|
||||
test_vector_del(const MunitParameter params[], void * data)
|
||||
{
|
||||
ivector v;
|
||||
vector_init(&v);
|
||||
|
||||
vector_push(&v, 1);
|
||||
vector_push(&v, 2);
|
||||
vector_push(&v, 3);
|
||||
vector_push(&v, 4);
|
||||
vector_push(&v, 5);
|
||||
|
||||
vector_del(&v, 2);
|
||||
|
||||
int *p = vector_data(&v);
|
||||
|
||||
munit_assert_int(p[0], ==, 1);
|
||||
munit_assert_int(p[1], ==, 2);
|
||||
munit_assert_int(p[2], ==, 4);
|
||||
munit_assert_int(p[3], ==, 5);
|
||||
munit_assert_size(vector_len(&v), ==, 4);
|
||||
|
||||
vector_free(&v);
|
||||
return MUNIT_OK;
|
||||
}
|
||||
|
||||
static MunitResult
|
||||
test_vector_len(const MunitParameter params[], void * data)
|
||||
{
|
||||
@@ -173,6 +226,8 @@ static MunitTest test_suite_tests[] = {
|
||||
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