Дописал необходимые функции и добавил тесты

This commit is contained in:
alexey
2025-12-11 02:05:47 +03:00
parent d6457a6117
commit 8664e4f1da
2 changed files with 109 additions and 14 deletions

View File

@@ -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 }
};