diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-04-01 21:21:10 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-04-01 21:21:10 +0200 |
| commit | a1675f56b35f5521a91851bae8ca650706374ae6 (patch) | |
| tree | 73bf00503b27ac4e548ae66bf7789eff4eb8eede /test/src | |
| parent | 9316f2063255bd4a0abd5c38d4c065969a8980bb (diff) | |
| download | libft-a1675f56b35f5521a91851bae8ca650706374ae6.tar.gz libft-a1675f56b35f5521a91851bae8ca650706374ae6.tar.bz2 libft-a1675f56b35f5521a91851bae8ca650706374ae6.zip | |
Added vector
Diffstat (limited to 'test/src')
| -rw-r--r-- | test/src/main.c | 8 | ||||
| -rw-r--r-- | test/src/runner/test_runner_vec.c | 45 | ||||
| -rw-r--r-- | test/src/vec/test_ft_vecdestroy.c | 26 | ||||
| -rw-r--r-- | test/src/vec/test_ft_vecgrow.c | 47 | ||||
| -rw-r--r-- | test/src/vec/test_ft_veciter.c | 52 | ||||
| -rw-r--r-- | test/src/vec/test_ft_vecnew.c | 47 | ||||
| -rw-r--r-- | test/src/vec/test_ft_vecpop.c | 47 | ||||
| -rw-r--r-- | test/src/vec/test_ft_vecpush.c | 57 |
8 files changed, 329 insertions, 0 deletions
diff --git a/test/src/main.c b/test/src/main.c index 42abe69..83e8d5f 100644 --- a/test/src/main.c +++ b/test/src/main.c @@ -68,6 +68,14 @@ static void run_all_test(void) RUN_TEST_GROUP(ft_lstsize); RUN_TEST_GROUP(ft_lstsort); RUN_TEST_GROUP(ft_lstsorted_merge); + + // vec + RUN_TEST_GROUP(ft_vecdestroy); + RUN_TEST_GROUP(ft_vecgrow); + RUN_TEST_GROUP(ft_veciter); + RUN_TEST_GROUP(ft_vecnew); + RUN_TEST_GROUP(ft_vecpop); + RUN_TEST_GROUP(ft_vecpush); } int main(int argc, const char **argv) diff --git a/test/src/runner/test_runner_vec.c b/test/src/runner/test_runner_vec.c new file mode 100644 index 0000000..af91360 --- /dev/null +++ b/test/src/runner/test_runner_vec.c @@ -0,0 +1,45 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_runner_vec.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 19:55:53 by charles #+# #+# */ +/* Updated: 2020/04/01 19:58:25 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + + +#include "libft_test.h" + +TEST_GROUP_RUNNER(ft_vecdestroy) +{ + RUN_TEST_CASE(ft_vecdestroy, basic); +} + +TEST_GROUP_RUNNER(ft_vecgrow) +{ + RUN_TEST_CASE(ft_vecgrow, basic); +} + +TEST_GROUP_RUNNER(ft_veciter) +{ + RUN_TEST_CASE(ft_veciter, basic); +} + +TEST_GROUP_RUNNER(ft_vecnew) +{ + RUN_TEST_CASE(ft_vecnew, basic); +} + +TEST_GROUP_RUNNER(ft_vecpop) +{ + RUN_TEST_CASE(ft_vecpop, basic); +} + +TEST_GROUP_RUNNER(ft_vecpush) +{ + RUN_TEST_CASE(ft_vecpush, basic); +} + diff --git a/test/src/vec/test_ft_vecdestroy.c b/test/src/vec/test_ft_vecdestroy.c new file mode 100644 index 0000000..4f121dc --- /dev/null +++ b/test/src/vec/test_ft_vecdestroy.c @@ -0,0 +1,26 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_vecdestroy.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 19:41:59 by charles #+# #+# */ +/* Updated: 2020/04/01 19:55:14 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_vecdestroy); + +TEST_SETUP(ft_vecdestroy) +{} + +TEST_TEAR_DOWN(ft_vecdestroy) +{} + +TEST(ft_vecdestroy, basic) +{ + TEST_PASS(); +} diff --git a/test/src/vec/test_ft_vecgrow.c b/test/src/vec/test_ft_vecgrow.c new file mode 100644 index 0000000..0b40390 --- /dev/null +++ b/test/src/vec/test_ft_vecgrow.c @@ -0,0 +1,47 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_vecgrow.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 19:41:59 by charles #+# #+# */ +/* Updated: 2020/04/01 21:17:13 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_vecgrow); + +TEST_SETUP(ft_vecgrow) +{} + +TEST_TEAR_DOWN(ft_vecgrow) +{} + +TEST(ft_vecgrow, basic) +{ + t_ftvec *vec = ft_vecnew(1); + TEST_ASSERT_NOT_NULL(vec); + TEST_ASSERT_NOT_NULL(ft_vecgrow(vec)); + TEST_ASSERT_EQUAL(2, vec->capacity); + TEST_ASSERT_EQUAL(0, vec->size); + TEST_ASSERT_NOT_NULL(ft_vecgrow(vec)); + TEST_ASSERT_EQUAL(3, vec->capacity); + TEST_ASSERT_EQUAL(0, vec->size); + TEST_ASSERT_NOT_NULL(ft_vecgrow(vec)); + TEST_ASSERT_EQUAL(4, vec->capacity); + TEST_ASSERT_EQUAL(0, vec->size); + TEST_ASSERT_NOT_NULL(ft_vecgrow(vec)); + TEST_ASSERT_EQUAL(6, vec->capacity); + TEST_ASSERT_EQUAL(0, vec->size); + TEST_ASSERT_NOT_NULL(ft_vecgrow(vec)); + TEST_ASSERT_EQUAL(9, vec->capacity); + TEST_ASSERT_EQUAL(0, vec->size); + TEST_ASSERT_NOT_NULL(ft_vecgrow(vec)); + TEST_ASSERT_EQUAL(13, vec->capacity); + TEST_ASSERT_EQUAL(0, vec->size); + + ft_vecdestroy(vec, NULL); +} diff --git a/test/src/vec/test_ft_veciter.c b/test/src/vec/test_ft_veciter.c new file mode 100644 index 0000000..fac28c1 --- /dev/null +++ b/test/src/vec/test_ft_veciter.c @@ -0,0 +1,52 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_veciter.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 19:41:59 by charles #+# #+# */ +/* Updated: 2020/04/01 20:20:41 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_veciter); + +TEST_SETUP(ft_veciter) +{} + +TEST_TEAR_DOWN(ft_veciter) +{} + +static void iter_func(void *x) +{ + *(int*)x = *(int*)x * *(int*)x; +} + +static void iter_func2(void *x) +{ + *(int*)x = *(int*)x - 100; +} + +TEST(ft_veciter, basic) +{ + int tmp[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; + t_ftvec *vec; + + vec = ft_vecnew(10); + TEST_ASSERT_NOT_NULL(vec); + TEST_ASSERT_NOT_NULL(vec->data); + for (int i = 0; i < 10; i++) + vec->data[i] = tmp + i; + vec->size = 10; + ft_veciter(vec, iter_func); + for (int i = 0; i < 10; i++) + TEST_ASSERT_EQUAL(i * i, *(int*)vec->data[i]); + ft_veciter(vec, iter_func2); + for (int i = 0; i < 10; i++) + TEST_ASSERT_EQUAL(i * i - 100, *(int*)vec->data[i]); + + ft_vecdestroy(vec, NULL); +} diff --git a/test/src/vec/test_ft_vecnew.c b/test/src/vec/test_ft_vecnew.c new file mode 100644 index 0000000..579a182 --- /dev/null +++ b/test/src/vec/test_ft_vecnew.c @@ -0,0 +1,47 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_vecnew.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 19:41:59 by charles #+# #+# */ +/* Updated: 2020/04/01 20:01:37 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_vecnew); + +TEST_SETUP(ft_vecnew) +{} + +TEST_TEAR_DOWN(ft_vecnew) +{} + +TEST(ft_vecnew, basic) +{ + t_ftvec *vec; + + vec = ft_vecnew(0); + TEST_ASSERT_NOT_NULL(vec); + TEST_ASSERT_NOT_NULL(vec->data); + TEST_ASSERT_EQUAL(1, vec->capacity); + TEST_ASSERT_EQUAL(0, vec->size); + ft_vecdestroy(vec, NULL); + + vec = ft_vecnew(10); + TEST_ASSERT_NOT_NULL(vec); + TEST_ASSERT_NOT_NULL(vec->data); + TEST_ASSERT_EQUAL(10, vec->capacity); + TEST_ASSERT_EQUAL(0, vec->size); + ft_vecdestroy(vec, NULL); + + vec = ft_vecnew(256); + TEST_ASSERT_NOT_NULL(vec); + TEST_ASSERT_NOT_NULL(vec->data); + TEST_ASSERT_EQUAL(256, vec->capacity); + TEST_ASSERT_EQUAL(0, vec->size); + ft_vecdestroy(vec, NULL); +} diff --git a/test/src/vec/test_ft_vecpop.c b/test/src/vec/test_ft_vecpop.c new file mode 100644 index 0000000..2ee96d2 --- /dev/null +++ b/test/src/vec/test_ft_vecpop.c @@ -0,0 +1,47 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_vecpop.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 19:41:59 by charles #+# #+# */ +/* Updated: 2020/04/01 20:26:37 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_vecpop); + +TEST_SETUP(ft_vecpop) +{} + +TEST_TEAR_DOWN(ft_vecpop) +{} + +TEST(ft_vecpop, basic) +{ + t_ftvec *vec; + + vec = ft_vecnew(3); + TEST_ASSERT_NOT_NULL(vec); + TEST_ASSERT_NOT_NULL(vec->data); + + vec->size = 3; + for (long i = 0; i < 3; i++) + vec->data[i] = (void*)i; + + ft_vecpop(vec, NULL); + TEST_ASSERT_EQUAL(2, vec->size); + TEST_ASSERT_EQUAL(3, vec->capacity); + ft_vecpop(vec, NULL); + TEST_ASSERT_EQUAL(1, vec->size); + TEST_ASSERT_EQUAL(3, vec->capacity); + ft_vecpop(vec, NULL); + TEST_ASSERT_EQUAL(0, vec->size); + TEST_ASSERT_EQUAL(3, vec->capacity); + ft_vecpop(vec, NULL); + TEST_ASSERT_EQUAL(0, vec->size); + TEST_ASSERT_EQUAL(3, vec->capacity); +} diff --git a/test/src/vec/test_ft_vecpush.c b/test/src/vec/test_ft_vecpush.c new file mode 100644 index 0000000..05efc7a --- /dev/null +++ b/test/src/vec/test_ft_vecpush.c @@ -0,0 +1,57 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_vecpush.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 19:41:59 by charles #+# #+# */ +/* Updated: 2020/04/01 20:23:00 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_vecpush); + +TEST_SETUP(ft_vecpush) +{} + +TEST_TEAR_DOWN(ft_vecpush) +{} + +TEST(ft_vecpush, basic) +{ + t_ftvec *vec; + + vec = ft_vecnew(2); + TEST_ASSERT_NOT_NULL(vec); + TEST_ASSERT_NOT_NULL(vec->data); + + TEST_ASSERT_NOT_NULL(ft_vecpush(vec, (void*)10)); + TEST_ASSERT_EQUAL(1, vec->size); + TEST_ASSERT_EQUAL(2, vec->capacity); + TEST_ASSERT_EQUAL(10, (long)vec->data[0]); + + TEST_ASSERT_NOT_NULL(ft_vecpush(vec, (void*)11)); + TEST_ASSERT_EQUAL(2, vec->size); + TEST_ASSERT_EQUAL(2, vec->capacity); + TEST_ASSERT_EQUAL(11, (long)vec->data[1]); + + TEST_ASSERT_NOT_NULL(ft_vecpush(vec, (void*)12)); + TEST_ASSERT_EQUAL(3, vec->size); + TEST_ASSERT_EQUAL(2 * 1.5, vec->capacity); + TEST_ASSERT_EQUAL(12, (long)vec->data[2]); + + TEST_ASSERT_NOT_NULL(ft_vecpush(vec, (void*)13)); + TEST_ASSERT_EQUAL(4, vec->size); + TEST_ASSERT_EQUAL(2 * 1.5 * 1.5, vec->capacity); + TEST_ASSERT_EQUAL(13, (long)vec->data[3]); + + TEST_ASSERT_NOT_NULL(ft_vecpush(vec, (void*)14)); + TEST_ASSERT_EQUAL(5, vec->size); + TEST_ASSERT_EQUAL(2 * 1.5 * 1.5 * 1.5, vec->capacity); + TEST_ASSERT_EQUAL(14, (long)vec->data[4]); + + ft_vecdestroy(vec, NULL); +} |
