From 1925805cc760061d5742f9d215998561fcd45211 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 1 Apr 2020 23:02:59 +0200 Subject: Added ft_vecremove, Updated README.md --- test/src/main.c | 1 + test/src/runner/test_runner_vec.c | 7 ++++- test/src/vec/test_ft_vecremove.c | 64 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 test/src/vec/test_ft_vecremove.c (limited to 'test/src') diff --git a/test/src/main.c b/test/src/main.c index 83e8d5f..8884f81 100644 --- a/test/src/main.c +++ b/test/src/main.c @@ -76,6 +76,7 @@ static void run_all_test(void) RUN_TEST_GROUP(ft_vecnew); RUN_TEST_GROUP(ft_vecpop); RUN_TEST_GROUP(ft_vecpush); + RUN_TEST_GROUP(ft_vecremove); } 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 index af91360..e0d3008 100644 --- a/test/src/runner/test_runner_vec.c +++ b/test/src/runner/test_runner_vec.c @@ -6,7 +6,7 @@ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 19:55:53 by charles #+# #+# */ -/* Updated: 2020/04/01 19:58:25 by charles ### ########.fr */ +/* Updated: 2020/04/01 22:49:28 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -43,3 +43,8 @@ TEST_GROUP_RUNNER(ft_vecpush) RUN_TEST_CASE(ft_vecpush, basic); } +TEST_GROUP_RUNNER(ft_vecremove) +{ + RUN_TEST_CASE(ft_vecremove, basic); +} + diff --git a/test/src/vec/test_ft_vecremove.c b/test/src/vec/test_ft_vecremove.c new file mode 100644 index 0000000..8cecc19 --- /dev/null +++ b/test/src/vec/test_ft_vecremove.c @@ -0,0 +1,64 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_vecremove.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 22:48:58 by charles #+# #+# */ +/* Updated: 2020/04/01 22:56:37 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_vecremove); + +TEST_SETUP(ft_vecremove) +{} + +TEST_TEAR_DOWN(ft_vecremove) +{} + +TEST(ft_vecremove, basic) +{ + t_ftvec *vec; + + vec = ft_vecnew(4); + for (size_t i = 0; i < 4; i++) + vec->data[i] = (void*)(i + 1); + vec->size = 4; + + ft_vecremove(vec, 0, NULL); + TEST_ASSERT_EQUAL(3, vec->size); + TEST_ASSERT_EQUAL(4, vec->capacity); + TEST_ASSERT_EQUAL_UINT64(2, (size_t)vec->data[0]); + TEST_ASSERT_EQUAL_UINT64(3, (size_t)vec->data[1]); + TEST_ASSERT_EQUAL_UINT64(4, (size_t)vec->data[2]); + + ft_vecremove(vec, 1, NULL); + TEST_ASSERT_EQUAL(2, vec->size); + TEST_ASSERT_EQUAL(4, vec->capacity); + TEST_ASSERT_EQUAL_UINT64(2, (size_t)vec->data[0]); + TEST_ASSERT_EQUAL_UINT64(4, (size_t)vec->data[1]); + + ft_vecremove(vec, 1, NULL); + TEST_ASSERT_EQUAL(1, vec->size); + TEST_ASSERT_EQUAL(4, vec->capacity); + TEST_ASSERT_EQUAL_UINT64(2, (size_t)vec->data[0]); + + ft_vecremove(vec, 1, NULL); + TEST_ASSERT_EQUAL(1, vec->size); + TEST_ASSERT_EQUAL(4, vec->capacity); + TEST_ASSERT_EQUAL_UINT64(2, (size_t)vec->data[0]); + + ft_vecremove(vec, 0, NULL); + TEST_ASSERT_EQUAL(0, vec->size); + TEST_ASSERT_EQUAL(4, vec->capacity); + + ft_vecremove(vec, 0, NULL); + TEST_ASSERT_EQUAL(0, vec->size); + TEST_ASSERT_EQUAL(4, vec->capacity); + + ft_vecdestroy(vec, NULL); +} -- cgit From a2452f88fffffe4e2a278578de5ac961858a5b72 Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 2 Apr 2020 11:20:44 +0200 Subject: Fixed ft_vecgrow, Added ft_vecinsert --- test/src/main.c | 1 + test/src/runner/test_runner_vec.c | 6 +++- test/src/vec/test_ft_vecgrow.c | 41 +++++++++++++++++++----- test/src/vec/test_ft_vecinsert.c | 66 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 106 insertions(+), 8 deletions(-) create mode 100644 test/src/vec/test_ft_vecinsert.c (limited to 'test/src') diff --git a/test/src/main.c b/test/src/main.c index 8884f81..ad5c9e8 100644 --- a/test/src/main.c +++ b/test/src/main.c @@ -77,6 +77,7 @@ static void run_all_test(void) RUN_TEST_GROUP(ft_vecpop); RUN_TEST_GROUP(ft_vecpush); RUN_TEST_GROUP(ft_vecremove); + RUN_TEST_GROUP(ft_vecinsert); } 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 index e0d3008..e084742 100644 --- a/test/src/runner/test_runner_vec.c +++ b/test/src/runner/test_runner_vec.c @@ -6,7 +6,7 @@ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 19:55:53 by charles #+# #+# */ -/* Updated: 2020/04/01 22:49:28 by charles ### ########.fr */ +/* Updated: 2020/04/02 11:01:36 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -48,3 +48,7 @@ TEST_GROUP_RUNNER(ft_vecremove) RUN_TEST_CASE(ft_vecremove, basic); } +TEST_GROUP_RUNNER(ft_vecinsert) +{ + RUN_TEST_CASE(ft_vecinsert, basic); +} diff --git a/test/src/vec/test_ft_vecgrow.c b/test/src/vec/test_ft_vecgrow.c index 0b40390..8a80c7e 100644 --- a/test/src/vec/test_ft_vecgrow.c +++ b/test/src/vec/test_ft_vecgrow.c @@ -6,7 +6,7 @@ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 19:41:59 by charles #+# #+# */ -/* Updated: 2020/04/01 21:17:13 by charles ### ########.fr */ +/* Updated: 2020/04/02 10:41:28 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -24,24 +24,51 @@ TEST(ft_vecgrow, basic) { t_ftvec *vec = ft_vecnew(1); TEST_ASSERT_NOT_NULL(vec); + vec->size = 1; + vec->data[0] = (void*)(0xfefefefeUL << 32); + TEST_ASSERT_NOT_NULL(ft_vecgrow(vec)); TEST_ASSERT_EQUAL(2, vec->capacity); - TEST_ASSERT_EQUAL(0, vec->size); + TEST_ASSERT_EQUAL(1, vec->size); + TEST_ASSERT_EQUAL_HEX64(0xfefefefeUL << 32, vec->data[0]); + vec->size = 2; + vec->data[1] = (void*)(0xfafafafaUL << 32); + TEST_ASSERT_NOT_NULL(ft_vecgrow(vec)); TEST_ASSERT_EQUAL(3, vec->capacity); - TEST_ASSERT_EQUAL(0, vec->size); + TEST_ASSERT_EQUAL(2, vec->size); + TEST_ASSERT_EQUAL_HEX64(0xfefefefeUL << 32, vec->data[0]); + TEST_ASSERT_EQUAL_HEX64(0xfafafafaUL << 32, vec->data[1]); + vec->size = 3; + vec->data[2] = (void*)(0xfbfbfbfbUL << 32); + TEST_ASSERT_NOT_NULL(ft_vecgrow(vec)); TEST_ASSERT_EQUAL(4, vec->capacity); - TEST_ASSERT_EQUAL(0, vec->size); + TEST_ASSERT_EQUAL(3, vec->size); + TEST_ASSERT_EQUAL_HEX64(0xfefefefeUL << 32, vec->data[0]); + TEST_ASSERT_EQUAL_HEX64(0xfafafafaUL << 32, vec->data[1]); + TEST_ASSERT_EQUAL_HEX64(0xfbfbfbfbUL << 32, vec->data[2]); + TEST_ASSERT_NOT_NULL(ft_vecgrow(vec)); TEST_ASSERT_EQUAL(6, vec->capacity); - TEST_ASSERT_EQUAL(0, vec->size); + TEST_ASSERT_EQUAL(3, vec->size); + TEST_ASSERT_EQUAL_HEX64(0xfefefefeUL << 32, vec->data[0]); + TEST_ASSERT_EQUAL_HEX64(0xfafafafaUL << 32, vec->data[1]); + TEST_ASSERT_EQUAL_HEX64(0xfbfbfbfbUL << 32, vec->data[2]); + TEST_ASSERT_NOT_NULL(ft_vecgrow(vec)); TEST_ASSERT_EQUAL(9, vec->capacity); - TEST_ASSERT_EQUAL(0, vec->size); + TEST_ASSERT_EQUAL(3, vec->size); + TEST_ASSERT_EQUAL_HEX64(0xfefefefeUL << 32, vec->data[0]); + TEST_ASSERT_EQUAL_HEX64(0xfafafafaUL << 32, vec->data[1]); + TEST_ASSERT_EQUAL_HEX64(0xfbfbfbfbUL << 32, vec->data[2]); + TEST_ASSERT_NOT_NULL(ft_vecgrow(vec)); TEST_ASSERT_EQUAL(13, vec->capacity); - TEST_ASSERT_EQUAL(0, vec->size); + TEST_ASSERT_EQUAL(3, vec->size); + TEST_ASSERT_EQUAL_HEX64(0xfefefefeUL << 32, vec->data[0]); + TEST_ASSERT_EQUAL_HEX64(0xfafafafaUL << 32, vec->data[1]); + TEST_ASSERT_EQUAL_HEX64(0xfbfbfbfbUL << 32, vec->data[2]); ft_vecdestroy(vec, NULL); } diff --git a/test/src/vec/test_ft_vecinsert.c b/test/src/vec/test_ft_vecinsert.c new file mode 100644 index 0000000..9b89813 --- /dev/null +++ b/test/src/vec/test_ft_vecinsert.c @@ -0,0 +1,66 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_vecinsert.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 22:48:58 by charles #+# #+# */ +/* Updated: 2020/04/02 11:05:14 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_vecinsert); + +TEST_SETUP(ft_vecinsert) +{} + +TEST_TEAR_DOWN(ft_vecinsert) +{} + +TEST(ft_vecinsert, basic) +{ + t_ftvec *vec; + + vec = ft_vecnew(2); + vec->data[0] = (void*)(1UL << 32); + vec->data[1] = (void*)(2UL << 32); + vec->size = 2; + + TEST_ASSERT_NOT_NULL(ft_vecinsert(vec, 0, (void*)(0xfefefefeUL << 32))); + TEST_ASSERT_EQUAL(3, vec->capacity); + TEST_ASSERT_EQUAL(3, vec->size); + TEST_ASSERT_EQUAL_HEX64((void*)(0xfefefefeUL << 32), vec->data[0]); + TEST_ASSERT_EQUAL_HEX64((void*)(1UL << 32), vec->data[1]); + TEST_ASSERT_EQUAL_HEX64((void*)(2UL << 32), vec->data[2]); + + TEST_ASSERT_NOT_NULL(ft_vecinsert(vec, 1, (void*)(0xfafafafaUL << 32))); + TEST_ASSERT_EQUAL(4, vec->capacity); + TEST_ASSERT_EQUAL(4, vec->size); + TEST_ASSERT_EQUAL_HEX64((void*)(0xfefefefeUL << 32), vec->data[0]); + TEST_ASSERT_EQUAL_HEX64((void*)(0xfafafafaUL << 32), vec->data[1]); + TEST_ASSERT_EQUAL_HEX64((void*)(1UL << 32), vec->data[2]); + TEST_ASSERT_EQUAL_HEX64((void*)(2UL << 32), vec->data[3]); + + TEST_ASSERT_NOT_NULL(ft_vecinsert(vec, 2, (void*)(0xfbfbfbfbUL << 32))); + TEST_ASSERT_EQUAL(6, vec->capacity); + TEST_ASSERT_EQUAL(5, vec->size); + TEST_ASSERT_EQUAL_HEX64((void*)(0xfefefefeUL << 32), vec->data[0]); + TEST_ASSERT_EQUAL_HEX64((void*)(0xfafafafaUL << 32), vec->data[1]); + TEST_ASSERT_EQUAL_HEX64((void*)(0xfbfbfbfbUL << 32), vec->data[2]); + TEST_ASSERT_EQUAL_HEX64((void*)(1UL << 32), vec->data[3]); + + TEST_ASSERT_NOT_NULL(ft_vecinsert(vec, vec->size, (void*)(0xfcUL << 31))); + TEST_ASSERT_EQUAL(6, vec->capacity); + TEST_ASSERT_EQUAL(6, vec->size); + TEST_ASSERT_EQUAL_HEX64((void*)(0xfefefefeUL << 32), vec->data[0]); + TEST_ASSERT_EQUAL_HEX64((void*)(0xfafafafaUL << 32), vec->data[1]); + TEST_ASSERT_EQUAL_HEX64((void*)(0xfbfbfbfbUL << 32), vec->data[2]); + TEST_ASSERT_EQUAL_HEX64((void*)(1UL << 32), vec->data[3]); + TEST_ASSERT_EQUAL_HEX64((void*)(2UL << 32), vec->data[4]); + TEST_ASSERT_EQUAL_HEX64((void*)(0xfcUL << 31), vec->data[5]); + + ft_vecdestroy(vec, NULL); +} -- cgit From 948c0953527fe3bef28904b38a16a9e4342e7e98 Mon Sep 17 00:00:00 2001 From: Charles Date: Fri, 3 Apr 2020 00:29:26 +0200 Subject: Added ft_fnmatch function --- test/src/main.c | 1 + test/src/runner/test_runner_str.c | 5 ++ test/src/str/test_ft_fnmatch.c | 117 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 123 insertions(+) create mode 100644 test/src/str/test_ft_fnmatch.c (limited to 'test/src') diff --git a/test/src/main.c b/test/src/main.c index ad5c9e8..b9e8bf7 100644 --- a/test/src/main.c +++ b/test/src/main.c @@ -29,6 +29,7 @@ static void run_all_test(void) // str RUN_TEST_GROUP(ft_strlen); + RUN_TEST_GROUP(ft_fnmatch); // ht RUN_TEST_GROUP(ft_htentry_new); diff --git a/test/src/runner/test_runner_str.c b/test/src/runner/test_runner_str.c index 3d829ad..a299786 100644 --- a/test/src/runner/test_runner_str.c +++ b/test/src/runner/test_runner_str.c @@ -4,3 +4,8 @@ TEST_GROUP_RUNNER(ft_strlen) { RUN_TEST_CASE(ft_strlen, basic); } + +TEST_GROUP_RUNNER(ft_fnmatch) +{ + RUN_TEST_CASE(ft_fnmatch, basic); +} diff --git a/test/src/str/test_ft_fnmatch.c b/test/src/str/test_ft_fnmatch.c new file mode 100644 index 0000000..f7dc892 --- /dev/null +++ b/test/src/str/test_ft_fnmatch.c @@ -0,0 +1,117 @@ +#include "libft_test.h" + +TEST_GROUP(ft_fnmatch); + +TEST_SETUP(ft_fnmatch) +{} + +TEST_TEAR_DOWN(ft_fnmatch) +{} + +TEST(ft_fnmatch, basic) +{ + TEST_ASSERT_TRUE(ft_fnmatch("", "")); + TEST_ASSERT_TRUE(ft_fnmatch("l", "l")); + TEST_ASSERT_TRUE(ft_fnmatch("kl", "kl")); + TEST_ASSERT_TRUE(ft_fnmatch("jkl", "jkl")); + TEST_ASSERT_TRUE(ft_fnmatch("ijkl", "ijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("hijkl", "hijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("ghijkl", "ghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("fghijkl", "fghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("efghijkl", "efghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("defghijkl", "defghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("cdefghijkl", "cdefghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("bcdefghijkl", "bcdefghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("abcdefghijkl", "abcdefghijkl")); + + TEST_ASSERT_FALSE(ft_fnmatch("", "a")); + TEST_ASSERT_FALSE(ft_fnmatch("", "ab")); + TEST_ASSERT_FALSE(ft_fnmatch("", "abc")); + TEST_ASSERT_FALSE(ft_fnmatch("a", "ab")); + TEST_ASSERT_FALSE(ft_fnmatch("ab", "abc")); + TEST_ASSERT_FALSE(ft_fnmatch("a", "")); + TEST_ASSERT_FALSE(ft_fnmatch("ab", "")); + TEST_ASSERT_FALSE(ft_fnmatch("abc", "")); + TEST_ASSERT_FALSE(ft_fnmatch("ab", "a")); + TEST_ASSERT_FALSE(ft_fnmatch("abc", "ab")); + + TEST_ASSERT_TRUE(ft_fnmatch("*", "")); + TEST_ASSERT_TRUE(ft_fnmatch("*", "l")); + TEST_ASSERT_TRUE(ft_fnmatch("*", "kl")); + TEST_ASSERT_TRUE(ft_fnmatch("*", "jkl")); + TEST_ASSERT_TRUE(ft_fnmatch("*", "ijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("*", "hijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("*", "ghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("*", "fghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("*", "efghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("*", "defghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("*", "cdefghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("*", "bcdefghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("*", "abcdefghijkl")); + + TEST_ASSERT_TRUE(ft_fnmatch("*.c", ".c")); + TEST_ASSERT_TRUE(ft_fnmatch("*.c", "l.c")); + TEST_ASSERT_TRUE(ft_fnmatch("*.c", "kl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("*.c", "jkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("*.c", "ijkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("*.c", "hijkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("*.c", "ghijkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("*.c", "fghijkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("*.c", "efghijkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("*.c", "defghijkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("*.c", "cdefghijkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("*.c", "bcdefghijkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("*.c", "abcdefghijkl.c")); + + TEST_ASSERT_TRUE(ft_fnmatch("../*", "../")); + TEST_ASSERT_TRUE(ft_fnmatch("../*", "../l")); + TEST_ASSERT_TRUE(ft_fnmatch("../*", "../kl")); + TEST_ASSERT_TRUE(ft_fnmatch("../*", "../jkl")); + TEST_ASSERT_TRUE(ft_fnmatch("../*", "../ijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("../*", "../hijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("../*", "../ghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("../*", "../fghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("../*", "../efghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("../*", "../defghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("../*", "../cdefghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("../*", "../bcdefghijkl")); + TEST_ASSERT_TRUE(ft_fnmatch("../*", "../abcdefghijkl")); + + TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../.c")); + TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../l.c")); + TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../kl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../jkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../ijkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../hijkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../ghijkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../fghijkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../efghijkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../defghijkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../cdefghijkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../bcdefghijkl.c")); + TEST_ASSERT_TRUE(ft_fnmatch("../*.c", "../abcdefghijkl.c")); + + TEST_ASSERT_TRUE(ft_fnmatch("*.*", ".")); + TEST_ASSERT_TRUE(ft_fnmatch("*.*", "a.a")); + TEST_ASSERT_TRUE(ft_fnmatch("*.*", "ab.ab")); + TEST_ASSERT_TRUE(ft_fnmatch("*.*", "abc.abc")); + TEST_ASSERT_TRUE(ft_fnmatch("*.*", "abcd.abcd")); + TEST_ASSERT_TRUE(ft_fnmatch("*.*", "abcde.abcde")); + TEST_ASSERT_TRUE(ft_fnmatch("*.*", "abcdef.abcdef")); + TEST_ASSERT_TRUE(ft_fnmatch("*.*", "abcdefg.abcdefg")); + TEST_ASSERT_TRUE(ft_fnmatch("*.*", "abcdefgh.abcdefgh")); + + TEST_ASSERT_FALSE(ft_fnmatch("*.c", ".h")); + TEST_ASSERT_FALSE(ft_fnmatch("*.c", "a.h")); + TEST_ASSERT_FALSE(ft_fnmatch("*.c", "ab.h")); + TEST_ASSERT_FALSE(ft_fnmatch("*.c", "abc.h")); + TEST_ASSERT_FALSE(ft_fnmatch("*.c", "abcd.h")); + + TEST_ASSERT_FALSE(ft_fnmatch("*.c", ".h")); + TEST_ASSERT_FALSE(ft_fnmatch("*.c", "a.h")); + TEST_ASSERT_FALSE(ft_fnmatch("*.c", "ab.h")); + TEST_ASSERT_FALSE(ft_fnmatch("*.c", "abc.h")); + TEST_ASSERT_FALSE(ft_fnmatch("*.c", "abcd.h")); + + TEST_ASSERT_TRUE(ft_fnmatch("da*da*da*", "daaadabadmanda")); +} -- cgit From d2feec1f97e9f8f201e56ad33662bb663c328a0a Mon Sep 17 00:00:00 2001 From: Charles Date: Fri, 3 Apr 2020 07:19:25 +0200 Subject: Changing hash table del function to regular one with a first order internal function, removing a few typedef to instead use standard types --- test/src/ht/test_ft_htdelone.c | 28 ++++++++------------- test/src/ht/test_ft_htdestroy.c | 18 +++++--------- test/src/ht/test_ft_htget.c | 54 ++++++++++++++++++---------------------- test/src/ht/test_ft_htset.c | 16 ++++-------- test/src/runner/test_runner_ht.c | 2 +- 5 files changed, 47 insertions(+), 71 deletions(-) (limited to 'test/src') diff --git a/test/src/ht/test_ft_htdelone.c b/test/src/ht/test_ft_htdelone.c index 5ba4822..a64b34e 100644 --- a/test/src/ht/test_ft_htdelone.c +++ b/test/src/ht/test_ft_htdelone.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/19 02:08:00 by cacharle #+# #+# */ -/* Updated: 2020/02/19 02:46:10 by cacharle ### ########.fr */ +/* Updated: 2020/04/03 07:08:38 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -20,23 +20,17 @@ TEST_SETUP(ft_htdelone) TEST_TEAR_DOWN(ft_htdelone) {} -static void st_del(t_ftht_entry *v) -{ - free(v->key); - free(v); -} - TEST(ft_htdelone, basic) { t_ftht *ht = ft_htnew(3); - ft_htset(ht, "bonjour", "je", st_del); - ft_htset(ht, "a", "yay", st_del); - ft_htset(ht, "b", "aasdf", st_del); - ft_htset(ht, "c", "a", st_del); - ft_htset(ht, "d", "dd", st_del); + ft_htset(ht, "bonjour", strdup("je"), free); + ft_htset(ht, "a", strdup("yay"), free); + ft_htset(ht, "b", strdup("aasdf"), free); + ft_htset(ht, "c", "a", NULL); + ft_htset(ht, "d", "dd", NULL); - ft_htdelone(ht, "bonjour", st_del); + ft_htdelone(ht, "bonjour", free); void *ptr = ft_htget(ht, "bonjour"); TEST_ASSERT_NULL(ptr); TEST_ASSERT_NOT_NULL(ft_htget(ht, "a")); @@ -44,25 +38,25 @@ TEST(ft_htdelone, basic) TEST_ASSERT_NOT_NULL(ft_htget(ht, "c")); TEST_ASSERT_NOT_NULL(ft_htget(ht, "d")); - ft_htdelone(ht, "a", st_del); + ft_htdelone(ht, "a", free); ptr = ft_htget(ht, "a"); TEST_ASSERT_NULL(ptr); TEST_ASSERT_NOT_NULL(ft_htget(ht, "b")); TEST_ASSERT_NOT_NULL(ft_htget(ht, "c")); TEST_ASSERT_NOT_NULL(ft_htget(ht, "d")); - ft_htdelone(ht, "b", st_del); + ft_htdelone(ht, "b", free); ptr = ft_htget(ht, "b"); TEST_ASSERT_NULL(ptr); TEST_ASSERT_NOT_NULL(ft_htget(ht, "c")); TEST_ASSERT_NOT_NULL(ft_htget(ht, "d")); - ft_htdelone(ht, "c", st_del); + ft_htdelone(ht, "c", NULL); ptr = ft_htget(ht, "c"); TEST_ASSERT_NULL(ptr); TEST_ASSERT_NOT_NULL(ft_htget(ht, "d")); - ft_htdelone(ht, "d", st_del); + ft_htdelone(ht, "d", NULL); ptr = ft_htget(ht, "d"); TEST_ASSERT_NULL(ptr); } diff --git a/test/src/ht/test_ft_htdestroy.c b/test/src/ht/test_ft_htdestroy.c index 1512a48..4d212e1 100644 --- a/test/src/ht/test_ft_htdestroy.c +++ b/test/src/ht/test_ft_htdestroy.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/19 02:45:27 by cacharle #+# #+# */ -/* Updated: 2020/02/19 02:49:36 by cacharle ### ########.fr */ +/* Updated: 2020/04/03 07:07:07 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -20,19 +20,13 @@ TEST_SETUP(ft_htdestroy) TEST_TEAR_DOWN(ft_htdestroy) {} -static void st_del(t_ftht_entry *v) -{ - free(v->key); - free(v); -} - TEST(ft_htdestroy, basic) { t_ftht *ht = ft_htnew(2); - ft_htset(ht, "a", "1", st_del); - ft_htset(ht, "b", "2", st_del); - ft_htset(ht, "c", "3", st_del); - ft_htset(ht, "d", "4", st_del); - ft_htdestroy(ht, st_del); + ft_htset(ht, "a", strdup("1"), free); + ft_htset(ht, "b", strdup("2"), free); + ft_htset(ht, "c", "3", NULL); + ft_htset(ht, "d", "4", NULL); + ft_htdestroy(ht, NULL); } diff --git a/test/src/ht/test_ft_htget.c b/test/src/ht/test_ft_htget.c index 386c3dc..4d4b4eb 100644 --- a/test/src/ht/test_ft_htget.c +++ b/test/src/ht/test_ft_htget.c @@ -16,12 +16,6 @@ TEST_TEAR_DOWN(ft_htget) int helper_segfault_pid; -static void st_del(t_ftht_entry *c) -{ - free(c->key); - free(c); -} - TEST(ft_htget, segfault) { TEST_ASSERT_SEGFAULT(ft_htget((t_ftht*)NULL, "")); @@ -43,72 +37,72 @@ TEST(ft_htget, error_null) TEST(ft_htget, basic) { - ft_htset(ht, strdup("a"), strdup("data1"), st_del); - ft_htset(ht, strdup("b"), strdup("data2"), st_del); - ft_htset(ht, strdup("c"), strdup("data3"), st_del); + ft_htset(ht, strdup("a"), strdup("data1"), free); + ft_htset(ht, strdup("b"), strdup("data2"), free); + ft_htset(ht, strdup("c"), strdup("data3"), free); char *s = ft_htget(ht, "a"); TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "data1"); + TEST_ASSERT_EQUAL_STRING(s, "data1"); s = ft_htget(ht, "b"); TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "data2"); + TEST_ASSERT_EQUAL_STRING(s, "data2"); s = ft_htget(ht, "c"); TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "data3"); + TEST_ASSERT_EQUAL_STRING(s, "data3"); - ft_htset(ht, strdup("a"), strdup("bonjour1"), st_del); - ft_htset(ht, strdup("b"), strdup("bonjour2"), st_del); - ft_htset(ht, strdup("c"), strdup("bonjour3"), st_del); + ft_htset(ht, strdup("a"), strdup("bonjour1"), free); + ft_htset(ht, strdup("b"), strdup("bonjour2"), free); + ft_htset(ht, strdup("c"), strdup("bonjour3"), free); s = ft_htget(ht, "a"); TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "bonjour1"); + TEST_ASSERT_EQUAL_STRING(s, "bonjour1"); s = ft_htget(ht, "b"); TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "bonjour2"); + TEST_ASSERT_EQUAL_STRING(s, "bonjour2"); s = ft_htget(ht, "c"); TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "bonjour3"); + TEST_ASSERT_EQUAL_STRING(s, "bonjour3"); } TEST(ft_htget, collision) { t_ftht *small = ft_htnew(1); - ft_htset(small, strdup("a"), strdup("data1"), st_del); - ft_htset(small, strdup("b"), strdup("data2"), st_del); - ft_htset(small, strdup("c"), strdup("data3"), st_del); + ft_htset(small, strdup("a"), strdup("data1"), free); + ft_htset(small, strdup("b"), strdup("data2"), free); + ft_htset(small, strdup("c"), strdup("data3"), free); char *s = ft_htget(small, "a"); TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "data1"); + TEST_ASSERT_EQUAL_STRING(s, "data1"); s = ft_htget(small, "b"); TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "data2"); + TEST_ASSERT_EQUAL_STRING(s, "data2"); s = ft_htget(small, "c"); TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "data3"); + TEST_ASSERT_EQUAL_STRING(s, "data3"); - ft_htset(small, strdup("a"), strdup("bonjour1"), st_del); - ft_htset(small, strdup("b"), strdup("bonjour2"), st_del); - ft_htset(small, strdup("c"), strdup("bonjour3"), st_del); + ft_htset(small, strdup("a"), strdup("bonjour1"), free); + ft_htset(small, strdup("b"), strdup("bonjour2"), free); + ft_htset(small, strdup("c"), strdup("bonjour3"), free); s = ft_htget(small, "a"); TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "bonjour1"); + TEST_ASSERT_EQUAL_STRING(s, "bonjour1"); s = ft_htget(small, "b"); TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "bonjour2"); + TEST_ASSERT_EQUAL_STRING(s, "bonjour2"); s = ft_htget(small, "c"); TEST_ASSERT_NOT_NULL(s); - TEST_ASSERT_EQUAL_STRING(s, "bonjour3"); + TEST_ASSERT_EQUAL_STRING(s, "bonjour3"); } diff --git a/test/src/ht/test_ft_htset.c b/test/src/ht/test_ft_htset.c index 96d848e..70232fd 100644 --- a/test/src/ht/test_ft_htset.c +++ b/test/src/ht/test_ft_htset.c @@ -14,12 +14,6 @@ TEST_TEAR_DOWN(ft_htset) /* ft_htdestroy_key(ht); */ } -static void st_del(t_ftht_entry *c) -{ - free(c->key); - free(c); -} - TEST(ft_htset, segfault) { TEST_ASSERT_SEGFAULT(ft_htset(NULL, "", strdup(""), NULL)); @@ -57,14 +51,14 @@ TEST(ft_htset, reset) small = ft_htnew(3); - t_ftht_entry *content = ft_htset(small, "bonjour", ft_strdup("content"), st_del); + t_ftht_entry *content = ft_htset(small, "bonjour", ft_strdup("content"), free); TEST_ASSERT_NOT_NULL(content); TEST_ASSERT_NOT_NULL(content->key); TEST_ASSERT_NOT_NULL(content->value); TEST_ASSERT_EQUAL_STRING(content->key, "bonjour"); TEST_ASSERT_EQUAL_STRING(content->value, "content"); - t_ftht_entry *content_re = ft_htset(small, "bonjour", ft_strdup("yo"), st_del); + t_ftht_entry *content_re = ft_htset(small, "bonjour", ft_strdup("yo"), free); TEST_ASSERT_NOT_NULL(content_re); TEST_ASSERT_NOT_NULL(content_re->key); TEST_ASSERT_NOT_NULL(content_re->value); @@ -77,21 +71,21 @@ TEST(ft_htset, collision) t_ftht *small = NULL; small = ft_htnew(1); - t_ftht_entry *content1 = ft_htset(small, "bonjour", strdup("content1"), st_del); + t_ftht_entry *content1 = ft_htset(small, "bonjour", strdup("content1"), free); TEST_ASSERT_NOT_NULL(content1); TEST_ASSERT_NOT_NULL(content1->key); TEST_ASSERT_NOT_NULL(content1->value); TEST_ASSERT_EQUAL_STRING(content1->key, "bonjour"); TEST_ASSERT_EQUAL_STRING(content1->value, "content1"); - t_ftht_entry *content2 = ft_htset(small, "aurevoir", strdup("content2"), st_del); + t_ftht_entry *content2 = ft_htset(small, "aurevoir", strdup("content2"), free); TEST_ASSERT_NOT_NULL(content2); TEST_ASSERT_NOT_NULL(content2->key); TEST_ASSERT_NOT_NULL(content2->value); TEST_ASSERT_EQUAL_STRING(content2->key, "aurevoir"); TEST_ASSERT_EQUAL_STRING(content2->value, "content2"); - t_ftht_entry *content3 = ft_htset(small, "aloa", strdup("content3"), st_del); + t_ftht_entry *content3 = ft_htset(small, "aloa", strdup("content3"), free); TEST_ASSERT_NOT_NULL(content3); TEST_ASSERT_NOT_NULL(content3->key); TEST_ASSERT_NOT_NULL(content3->value); diff --git a/test/src/runner/test_runner_ht.c b/test/src/runner/test_runner_ht.c index 1563a72..e7fbcf3 100644 --- a/test/src/runner/test_runner_ht.c +++ b/test/src/runner/test_runner_ht.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/12 22:44:39 by cacharle #+# #+# */ -/* Updated: 2020/02/28 12:17:33 by cacharle ### ########.fr */ +/* Updated: 2020/04/03 07:11:32 by charles ### ########.fr */ /* */ /* ************************************************************************** */ -- cgit From 51b845a6a202b50966f50e166cfb11bcbdccbe33 Mon Sep 17 00:00:00 2001 From: Charles Date: Sat, 4 Apr 2020 15:58:24 +0200 Subject: Added ft_strsjoin, ft_strsjoinf, ft_compar_str, ft_vecsort, ft_vecpush_safe --- test/src/algo/test_ft_qsort.c | 42 ++++++++++++++++++++++++++++++-------- test/src/runner/test_runner_algo.c | 3 ++- 2 files changed, 35 insertions(+), 10 deletions(-) (limited to 'test/src') diff --git a/test/src/algo/test_ft_qsort.c b/test/src/algo/test_ft_qsort.c index 25a5ef6..00062b0 100644 --- a/test/src/algo/test_ft_qsort.c +++ b/test/src/algo/test_ft_qsort.c @@ -8,19 +8,43 @@ TEST_SETUP(ft_qsort) TEST_TEAR_DOWN(ft_qsort) {} -static int compar(const void *a, const void *b) -{ - return *(int*)a - *(int*)b; -} - TEST(ft_qsort, basic) { int arr[] = {3, 4, 1, 2, 7, 189, -1, -134, 7, 1, 34}; int sorted_arr[sizeof(arr)]; - memcpy(sorted_arr, arr, sizeof(arr)); - qsort(sorted_arr, sizeof(arr) / sizeof(int), sizeof(int), compar); - - ft_qsort(arr, sizeof(arr) / sizeof(int), sizeof(int), compar); + qsort(sorted_arr, sizeof(arr) / sizeof(int), sizeof(int), ft_compar_int); + ft_qsort(arr, sizeof(arr) / sizeof(int), sizeof(int), ft_compar_int); TEST_ASSERT_EQUAL_INT_ARRAY(sorted_arr, arr, sizeof(arr) / sizeof(int)); } + +TEST(ft_qsort, strings) +{ + char *arr[] = {"zzz", "fff", "aaa"}; + char *sorted[sizeof(arr)]; + memcpy(sorted, arr, sizeof(arr)); + qsort(sorted, sizeof(arr) / sizeof(char*), sizeof(char*), ft_compar_str); + ft_qsort(arr, sizeof(arr) / sizeof(char*), sizeof(char*), ft_compar_str); + TEST_ASSERT_EQUAL_STRING_ARRAY(sorted, arr, sizeof(arr) / sizeof(char*)); + + char *arr2[] = {"abcdef", "abcde", "abcd", "abc", "ab", "a", ""}; + char *sorted2[sizeof(arr2)]; + memcpy(sorted2, arr2, sizeof(arr2)); + qsort(sorted2, sizeof(arr2) / sizeof(char*), sizeof(char*), ft_compar_str); + ft_qsort(arr2, sizeof(arr2) / sizeof(char*), sizeof(char*), ft_compar_str); + TEST_ASSERT_EQUAL_STRING_ARRAY(sorted2, arr2, sizeof(arr2) / sizeof(char*)); + + char *arr3[] = {"", "a", "ab", "abc", "abcd", "abcde", "abcdef"}; + char *sorted3[sizeof(arr3)]; + memcpy(sorted3, arr3, sizeof(arr3)); + qsort(sorted3, sizeof(arr3) / sizeof(char*), sizeof(char*), ft_compar_str); + ft_qsort(arr3, sizeof(arr3) / sizeof(char*), sizeof(char*), ft_compar_str); + TEST_ASSERT_EQUAL_STRING_ARRAY(sorted3, arr3, sizeof(arr3) / sizeof(char*)); + + char *arr4[] = {"ast.c", "z.c", "path.c", "main.c", "utils.c", "preprocess.c", "env.c"}; + char *sorted4[sizeof(arr4)]; + memcpy(sorted4, arr4, sizeof(arr4)); + qsort(sorted4, sizeof(arr4) / sizeof(char*), sizeof(char*), ft_compar_str); + ft_qsort(arr4, sizeof(arr4) / sizeof(char*), sizeof(char*), ft_compar_str); + TEST_ASSERT_EQUAL_STRING_ARRAY(sorted4, arr4, sizeof(arr4) / sizeof(char*)); +} diff --git a/test/src/runner/test_runner_algo.c b/test/src/runner/test_runner_algo.c index 8873797..f2afdb3 100644 --- a/test/src/runner/test_runner_algo.c +++ b/test/src/runner/test_runner_algo.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/13 21:25:52 by cacharle #+# #+# */ -/* Updated: 2020/02/13 21:37:15 by cacharle ### ########.fr */ +/* Updated: 2020/04/04 15:22:43 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -51,6 +51,7 @@ TEST_GROUP_RUNNER(ft_mergesort) TEST_GROUP_RUNNER(ft_qsort) { RUN_TEST_CASE(ft_qsort, basic); + RUN_TEST_CASE(ft_qsort, strings); } TEST_GROUP_RUNNER(ft_reverse) -- cgit From 42316d8393d32bd88fb8e0cba6825185f78dacd0 Mon Sep 17 00:00:00 2001 From: Charles Date: Sat, 4 Apr 2020 21:28:21 +0200 Subject: Added test and doc for dynamic string --- test/src/dstr/test_ft_dstrdestroy.c | 26 ++++++++++++++++ test/src/dstr/test_ft_dstrgrow.c | 52 ++++++++++++++++++++++++++++++++ test/src/dstr/test_ft_dstrinsert.c | 59 ++++++++++++++++++++++++++++++++++++ test/src/dstr/test_ft_dstrnew.c | 60 +++++++++++++++++++++++++++++++++++++ test/src/dstr/test_ft_dstrunwrap.c | 42 ++++++++++++++++++++++++++ test/src/main.c | 7 +++++ test/src/runner/test_runner_dstr.c | 38 +++++++++++++++++++++++ test/src/runner/test_runner_vec.c | 7 ++++- test/src/vec/test_ft_vecsort.c | 34 +++++++++++++++++++++ 9 files changed, 324 insertions(+), 1 deletion(-) create mode 100644 test/src/dstr/test_ft_dstrdestroy.c create mode 100644 test/src/dstr/test_ft_dstrgrow.c create mode 100644 test/src/dstr/test_ft_dstrinsert.c create mode 100644 test/src/dstr/test_ft_dstrnew.c create mode 100644 test/src/dstr/test_ft_dstrunwrap.c create mode 100644 test/src/runner/test_runner_dstr.c create mode 100644 test/src/vec/test_ft_vecsort.c (limited to 'test/src') diff --git a/test/src/dstr/test_ft_dstrdestroy.c b/test/src/dstr/test_ft_dstrdestroy.c new file mode 100644 index 0000000..1a6cb41 --- /dev/null +++ b/test/src/dstr/test_ft_dstrdestroy.c @@ -0,0 +1,26 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_dstrdestroy.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 19:41:59 by charles #+# #+# */ +/* Updated: 2020/04/04 21:04:51 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_dstrdestroy); + +TEST_SETUP(ft_dstrdestroy) +{} + +TEST_TEAR_DOWN(ft_dstrdestroy) +{} + +TEST(ft_dstrdestroy, basic) +{ + TEST_PASS(); +} diff --git a/test/src/dstr/test_ft_dstrgrow.c b/test/src/dstr/test_ft_dstrgrow.c new file mode 100644 index 0000000..1e3edb6 --- /dev/null +++ b/test/src/dstr/test_ft_dstrgrow.c @@ -0,0 +1,52 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_dstrgrow.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 19:41:59 by charles #+# #+# */ +/* Updated: 2020/04/04 21:12:16 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_dstrgrow); + +TEST_SETUP(ft_dstrgrow) +{} + +TEST_TEAR_DOWN(ft_dstrgrow) +{} + +TEST(ft_dstrgrow, basic) +{ + t_ftdstr *dstr; + + dstr = ft_dstrnew("bonjour"); + TEST_ASSERT_NOT_NULL(ft_dstrgrow(dstr, 3)); + TEST_ASSERT_GREATER_OR_EQUAL(3, dstr->capacity - 1); + TEST_ASSERT_EQUAL_STRING("bonjour", dstr->str); + TEST_ASSERT_EQUAL(strlen("bonjour"), dstr->length); + + TEST_ASSERT_NOT_NULL(ft_dstrgrow(dstr, 16)); + TEST_ASSERT_GREATER_OR_EQUAL(16, dstr->capacity - 1); + TEST_ASSERT_EQUAL_STRING("bonjour", dstr->str); + TEST_ASSERT_EQUAL(strlen("bonjour"), dstr->length); + + TEST_ASSERT_NOT_NULL(ft_dstrgrow(dstr, 8)); + TEST_ASSERT_GREATER_OR_EQUAL(8, dstr->capacity - 1); + TEST_ASSERT_EQUAL_STRING("bonjour", dstr->str); + TEST_ASSERT_EQUAL(strlen("bonjour"), dstr->length); + + TEST_ASSERT_NOT_NULL(ft_dstrgrow(dstr, 20)); + TEST_ASSERT_GREATER_OR_EQUAL(20, dstr->capacity - 1); + TEST_ASSERT_EQUAL_STRING("bonjour", dstr->str); + TEST_ASSERT_EQUAL(strlen("bonjour"), dstr->length); + + TEST_ASSERT_NOT_NULL(ft_dstrgrow(dstr, 32)); + TEST_ASSERT_GREATER_OR_EQUAL(32, dstr->capacity - 1); + TEST_ASSERT_EQUAL_STRING("bonjour", dstr->str); + TEST_ASSERT_EQUAL(strlen("bonjour"), dstr->length); +} diff --git a/test/src/dstr/test_ft_dstrinsert.c b/test/src/dstr/test_ft_dstrinsert.c new file mode 100644 index 0000000..61f407c --- /dev/null +++ b/test/src/dstr/test_ft_dstrinsert.c @@ -0,0 +1,59 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_dstrinsert.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 19:41:59 by charles #+# #+# */ +/* Updated: 2020/04/04 21:21:51 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_dstrinsert); + +TEST_SETUP(ft_dstrinsert) +{} + +TEST_TEAR_DOWN(ft_dstrinsert) +{} + +TEST(ft_dstrinsert, basic) +{ + t_ftdstr *dstr; + + dstr = ft_dstrnew(""); + + TEST_ASSERT_NULL(ft_dstrinsert(dstr, "", 1)); + TEST_ASSERT_NULL(ft_dstrinsert(dstr, "test", 1)); + TEST_ASSERT_NULL(ft_dstrinsert(dstr, "", 5)); + TEST_ASSERT_NULL(ft_dstrinsert(dstr, "test", 5)); + + TEST_ASSERT_NOT_NULL(ft_dstrinsert(dstr, "bonjour", 0)); + TEST_ASSERT_NOT_NULL(dstr->str); + TEST_ASSERT_EQUAL_STRING("bonjour", dstr->str); + TEST_ASSERT_EQUAL(strlen(dstr->str), dstr->length); + TEST_ASSERT_GREATER_THAN(strlen(dstr->str), dstr->capacity); + + TEST_ASSERT_NULL(ft_dstrinsert(dstr, "abc", 8)); + + TEST_ASSERT_NOT_NULL(ft_dstrinsert(dstr, "{{{", 0)); + TEST_ASSERT_NOT_NULL(dstr->str); + TEST_ASSERT_EQUAL_STRING("{{{bonjour", dstr->str); + TEST_ASSERT_EQUAL(strlen(dstr->str), dstr->length); + TEST_ASSERT_GREATER_THAN(strlen(dstr->str), dstr->capacity); + + TEST_ASSERT_NOT_NULL(ft_dstrinsert(dstr, "]]]", dstr->length)); + TEST_ASSERT_NOT_NULL(dstr->str); + TEST_ASSERT_EQUAL_STRING("{{{bonjour]]]", dstr->str); + TEST_ASSERT_EQUAL(strlen(dstr->str), dstr->length); + TEST_ASSERT_GREATER_THAN(strlen(dstr->str), dstr->capacity); + + TEST_ASSERT_NOT_NULL(ft_dstrinsert(dstr, "<>", 6)); + TEST_ASSERT_NOT_NULL(dstr->str); + TEST_ASSERT_EQUAL_STRING("{{{bon<>jour]]]", dstr->str); + TEST_ASSERT_EQUAL(strlen(dstr->str), dstr->length); + TEST_ASSERT_GREATER_THAN(strlen(dstr->str), dstr->capacity); +} diff --git a/test/src/dstr/test_ft_dstrnew.c b/test/src/dstr/test_ft_dstrnew.c new file mode 100644 index 0000000..33024e4 --- /dev/null +++ b/test/src/dstr/test_ft_dstrnew.c @@ -0,0 +1,60 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_dstrnew.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 19:41:59 by charles #+# #+# */ +/* Updated: 2020/04/04 21:03:25 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_dstrnew); + +TEST_SETUP(ft_dstrnew) +{} + +TEST_TEAR_DOWN(ft_dstrnew) +{} + +TEST(ft_dstrnew, basic) +{ + t_ftdstr *dstr; + + dstr = ft_dstrnew(""); + TEST_ASSERT_NOT_NULL(dstr); + TEST_ASSERT_NOT_NULL(dstr->str); + TEST_ASSERT_EQUAL_STRING("", dstr->str); + TEST_ASSERT_EQUAL(1, dstr->capacity); + TEST_ASSERT_EQUAL(0, dstr->length); + ft_dstrdestroy(dstr); + + dstr = ft_dstrnew("abc"); + TEST_ASSERT_NOT_NULL(dstr); + TEST_ASSERT_NOT_NULL(dstr->str); + TEST_ASSERT_EQUAL_STRING("abc", dstr->str); + TEST_ASSERT_EQUAL(strlen("abc") + 1, dstr->capacity); + TEST_ASSERT_EQUAL(strlen("abc"), dstr->length); + ft_dstrdestroy(dstr); + + dstr = ft_dstrnew("hidden\0text"); + TEST_ASSERT_NOT_NULL(dstr); + TEST_ASSERT_NOT_NULL(dstr->str); + TEST_ASSERT_EQUAL_STRING("hidden\0text", dstr->str); + TEST_ASSERT_EQUAL(strlen("hidden") + 1, dstr->capacity); + TEST_ASSERT_EQUAL(strlen("hidden"), dstr->length); + ft_dstrdestroy(dstr); + + char *long_string = "asdkfjasl;asdjiojxocijioajsdfopijasdofijasiodfjaospidj"\ + "fopiasjdfoijasdopifjaspoidjfopiasjdfpoiajsdfoijd"; + dstr = ft_dstrnew(long_string); + TEST_ASSERT_NOT_NULL(dstr); + TEST_ASSERT_NOT_NULL(dstr->str); + TEST_ASSERT_EQUAL_STRING(long_string, dstr->str); + TEST_ASSERT_EQUAL(strlen(long_string) + 1, dstr->capacity); + TEST_ASSERT_EQUAL(strlen(long_string), dstr->length); + ft_dstrdestroy(dstr); +} diff --git a/test/src/dstr/test_ft_dstrunwrap.c b/test/src/dstr/test_ft_dstrunwrap.c new file mode 100644 index 0000000..dbc334a --- /dev/null +++ b/test/src/dstr/test_ft_dstrunwrap.c @@ -0,0 +1,42 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_dstrunwrap.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 19:41:59 by charles #+# #+# */ +/* Updated: 2020/04/04 21:07:16 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_dstrunwrap); + +TEST_SETUP(ft_dstrunwrap) +{} + +TEST_TEAR_DOWN(ft_dstrunwrap) +{} + +TEST(ft_dstrunwrap, basic) +{ + t_ftdstr *dstr; + char *ret; + + dstr = ft_dstrnew("bonjour"); + ret = ft_dstrunwrap(dstr); + TEST_ASSERT_NOT_NULL(ret); + TEST_ASSERT_EQUAL_STRING("bonjour", ret); + + dstr = ft_dstrnew(""); + ret = ft_dstrunwrap(dstr); + TEST_ASSERT_NOT_NULL(ret); + TEST_ASSERT_EQUAL_STRING("", ret); + + dstr = ft_dstrnew("hidden\0text"); + ret = ft_dstrunwrap(dstr); + TEST_ASSERT_NOT_NULL(ret); + TEST_ASSERT_EQUAL_STRING("hidden", ret); +} diff --git a/test/src/main.c b/test/src/main.c index b9e8bf7..7bac44b 100644 --- a/test/src/main.c +++ b/test/src/main.c @@ -79,8 +79,15 @@ static void run_all_test(void) RUN_TEST_GROUP(ft_vecpush); RUN_TEST_GROUP(ft_vecremove); RUN_TEST_GROUP(ft_vecinsert); + + RUN_TEST_GROUP(ft_dstrdestroy); + RUN_TEST_GROUP(ft_dstrgrow); + RUN_TEST_GROUP(ft_dstrinsert); + RUN_TEST_GROUP(ft_dstrnew); + RUN_TEST_GROUP(ft_dstrunwrap); } + int main(int argc, const char **argv) { return UnityMain(argc, argv, run_all_test); diff --git a/test/src/runner/test_runner_dstr.c b/test/src/runner/test_runner_dstr.c new file mode 100644 index 0000000..0c20048 --- /dev/null +++ b/test/src/runner/test_runner_dstr.c @@ -0,0 +1,38 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_runner_dstr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/04 20:44:42 by charles #+# #+# */ +/* Updated: 2020/04/04 20:47:33 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP_RUNNER(ft_dstrdestroy) +{ + RUN_TEST_CASE(ft_dstrdestroy, basic); +} + +TEST_GROUP_RUNNER(ft_dstrgrow) +{ + RUN_TEST_CASE(ft_dstrgrow, basic); +} + +TEST_GROUP_RUNNER(ft_dstrinsert) +{ + RUN_TEST_CASE(ft_dstrinsert, basic); +} + +TEST_GROUP_RUNNER(ft_dstrnew) +{ + RUN_TEST_CASE(ft_dstrnew, basic); +} + +TEST_GROUP_RUNNER(ft_dstrunwrap) +{ + RUN_TEST_CASE(ft_dstrunwrap, basic); +} diff --git a/test/src/runner/test_runner_vec.c b/test/src/runner/test_runner_vec.c index e084742..c393bfa 100644 --- a/test/src/runner/test_runner_vec.c +++ b/test/src/runner/test_runner_vec.c @@ -6,7 +6,7 @@ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 19:55:53 by charles #+# #+# */ -/* Updated: 2020/04/02 11:01:36 by charles ### ########.fr */ +/* Updated: 2020/04/04 19:36:41 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -52,3 +52,8 @@ TEST_GROUP_RUNNER(ft_vecinsert) { RUN_TEST_CASE(ft_vecinsert, basic); } + +TEST_GROUP_RUNNER(ft_vecsort) +{ + RUN_TEST_CASE(ft_vecsort, basic); +} diff --git a/test/src/vec/test_ft_vecsort.c b/test/src/vec/test_ft_vecsort.c new file mode 100644 index 0000000..bfdad01 --- /dev/null +++ b/test/src/vec/test_ft_vecsort.c @@ -0,0 +1,34 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_vecsort.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/04 19:31:13 by charles #+# #+# */ +/* Updated: 2020/04/04 19:45:27 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_vecsort); + +TEST_SETUP(ft_vecsort) +{} + +TEST_TEAR_DOWN(ft_vecsort) +{} + +TEST(ft_vecsort, basic) +{ + t_ftvec *vec = ft_vecnew(1); + char* arr[] = {"bonjour", "je", "suis", "lala", "z", "b"}; + char* sorted[] = {"bonjour", "je", "suis", "lala", "z", "b"}; + + for (size_t i = 0; i < sizeof(arr) / sizeof(char*); i++) + ft_vecpush(vec, arr[i]); + ft_vecsort(vec, ft_compar_str); + ft_qsort(sorted, sizeof(sorted) / sizeof(char*), sizeof(char*), ft_compar_str); + TEST_ASSERT_EQUAL_STRING_ARRAY(sorted, vec->data, vec->size); +} -- cgit From 65cf641e9533b190db870d0cc46f2f852239ebf6 Mon Sep 17 00:00:00 2001 From: Charles Date: Sat, 4 Apr 2020 23:36:19 +0200 Subject: Added test for ft_strsjoin, ft_strsjoinf, ft_vecpush_safe, Added doc for algo functions, tested functions --- test/src/main.c | 4 ++ test/src/runner/test_runner_str.c | 10 +++++ test/src/runner/test_runner_vec.c | 7 ++- test/src/str/test_ft_strsjoin.c | 57 ++++++++++++++++++++++++ test/src/str/test_ft_strsjoinf.c | 87 +++++++++++++++++++++++++++++++++++++ test/src/vec/test_ft_vecpush_safe.c | 45 +++++++++++++++++++ 6 files changed, 209 insertions(+), 1 deletion(-) create mode 100644 test/src/str/test_ft_strsjoin.c create mode 100644 test/src/str/test_ft_strsjoinf.c create mode 100644 test/src/vec/test_ft_vecpush_safe.c (limited to 'test/src') diff --git a/test/src/main.c b/test/src/main.c index 7bac44b..b8f5cf3 100644 --- a/test/src/main.c +++ b/test/src/main.c @@ -30,6 +30,8 @@ static void run_all_test(void) // str RUN_TEST_GROUP(ft_strlen); RUN_TEST_GROUP(ft_fnmatch); + RUN_TEST_GROUP(ft_strsjoin); + RUN_TEST_GROUP(ft_strsjoinf); // ht RUN_TEST_GROUP(ft_htentry_new); @@ -79,7 +81,9 @@ static void run_all_test(void) RUN_TEST_GROUP(ft_vecpush); RUN_TEST_GROUP(ft_vecremove); RUN_TEST_GROUP(ft_vecinsert); + RUN_TEST_GROUP(ft_vecpush_safe); + // dstr RUN_TEST_GROUP(ft_dstrdestroy); RUN_TEST_GROUP(ft_dstrgrow); RUN_TEST_GROUP(ft_dstrinsert); diff --git a/test/src/runner/test_runner_str.c b/test/src/runner/test_runner_str.c index a299786..a6c0da8 100644 --- a/test/src/runner/test_runner_str.c +++ b/test/src/runner/test_runner_str.c @@ -9,3 +9,13 @@ TEST_GROUP_RUNNER(ft_fnmatch) { RUN_TEST_CASE(ft_fnmatch, basic); } + +TEST_GROUP_RUNNER(ft_strsjoin) +{ + RUN_TEST_CASE(ft_strsjoin, basic); +} + +TEST_GROUP_RUNNER(ft_strsjoinf) +{ + RUN_TEST_CASE(ft_strsjoinf, basic); +} diff --git a/test/src/runner/test_runner_vec.c b/test/src/runner/test_runner_vec.c index c393bfa..5a57def 100644 --- a/test/src/runner/test_runner_vec.c +++ b/test/src/runner/test_runner_vec.c @@ -6,7 +6,7 @@ /* By: charles +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/01 19:55:53 by charles #+# #+# */ -/* Updated: 2020/04/04 19:36:41 by charles ### ########.fr */ +/* Updated: 2020/04/04 23:26:54 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -57,3 +57,8 @@ TEST_GROUP_RUNNER(ft_vecsort) { RUN_TEST_CASE(ft_vecsort, basic); } + +TEST_GROUP_RUNNER(ft_vecpush_safe) +{ + RUN_TEST_CASE(ft_vecpush_safe, basic); +} diff --git a/test/src/str/test_ft_strsjoin.c b/test/src/str/test_ft_strsjoin.c new file mode 100644 index 0000000..0fac07b --- /dev/null +++ b/test/src/str/test_ft_strsjoin.c @@ -0,0 +1,57 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_strsjoin.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 19:41:59 by charles #+# #+# */ +/* Updated: 2020/04/04 23:32:26 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_strsjoin); + +TEST_SETUP(ft_strsjoin) +{} + +TEST_TEAR_DOWN(ft_strsjoin) +{} + +TEST(ft_strsjoin, basic) +{ + char *join; + char *arr[] = {"bonjour", "je", "suis", NULL}; + char *arr2[] = {"", "bonjour", "", "", "", "je", "suis", NULL}; + char *null_arr[] = {NULL}; + + join = ft_strsjoin(arr, " "); + TEST_ASSERT_NOT_NULL(join); + TEST_ASSERT_EQUAL_STRING("bonjour je suis", join); + + join = ft_strsjoin(arr, "<|>"); + TEST_ASSERT_NOT_NULL(join); + TEST_ASSERT_EQUAL_STRING("bonjour<|>je<|>suis", join); + + join = ft_strsjoin(arr, ""); + TEST_ASSERT_NOT_NULL(join); + TEST_ASSERT_EQUAL_STRING("bonjourjesuis", join); + + join = ft_strsjoin(arr2, " "); + TEST_ASSERT_NOT_NULL(join); + TEST_ASSERT_EQUAL_STRING("bonjour je suis", join); + + join = ft_strsjoin(arr2, "<|>"); + TEST_ASSERT_NOT_NULL(join); + TEST_ASSERT_EQUAL_STRING("bonjour<|>je<|>suis", join); + + join = ft_strsjoin(arr2, ""); + TEST_ASSERT_NOT_NULL(join); + TEST_ASSERT_EQUAL_STRING("bonjourjesuis", join); + + join = ft_strsjoin(null_arr, "abc"); + TEST_ASSERT_NOT_NULL(join); + TEST_ASSERT_EQUAL_STRING("", join); +} diff --git a/test/src/str/test_ft_strsjoinf.c b/test/src/str/test_ft_strsjoinf.c new file mode 100644 index 0000000..d5184a9 --- /dev/null +++ b/test/src/str/test_ft_strsjoinf.c @@ -0,0 +1,87 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_strsjoinf.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 19:41:59 by charles #+# #+# */ +/* Updated: 2020/04/04 23:25:39 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_strsjoinf); + +TEST_SETUP(ft_strsjoinf) +{} + +TEST_TEAR_DOWN(ft_strsjoinf) +{} + +TEST(ft_strsjoinf, basic) +{ + char *join; + char *arr_orig[] = {"bonjour", "je", "suis", NULL}; + char *arr2_orig[] = {"", "bonjour", "", "", "", "je", "suis", NULL}; + char **null_arr; + char **arr; + char **arr2; + + size_t i; + + arr = malloc(sizeof(arr_orig)); + for (i = 0; i < sizeof(arr_orig) / sizeof(char*) - 1; i++) + arr[i] = strdup(arr_orig[i]); + arr[i] = NULL; + join = ft_strsjoinf(arr, " "); + TEST_ASSERT_NOT_NULL(join); + TEST_ASSERT_EQUAL_STRING("bonjour je suis", join); + + arr = malloc(sizeof(arr_orig)); + for (i = 0; i < sizeof(arr_orig) / sizeof(char*) - 1; i++) + arr[i] = strdup(arr_orig[i]); + arr[i] = NULL; + join = ft_strsjoinf(arr, "<|>"); + TEST_ASSERT_NOT_NULL(join); + TEST_ASSERT_EQUAL_STRING("bonjour<|>je<|>suis", join); + + arr = malloc(sizeof(arr_orig)); + for (i = 0; i < sizeof(arr_orig) / sizeof(char*) - 1; i++) + arr[i] = strdup(arr_orig[i]); + arr[i] = NULL; + join = ft_strsjoinf(arr, ""); + TEST_ASSERT_NOT_NULL(join); + TEST_ASSERT_EQUAL_STRING("bonjourjesuis", join); + + arr2 = malloc(sizeof(arr2_orig)); + for (i = 0; i < sizeof(arr2_orig) / sizeof(char*) - 1; i++) + arr2[i] = strdup(arr2_orig[i]); + arr2[i] = NULL; + join = ft_strsjoinf(arr2, " "); + TEST_ASSERT_NOT_NULL(join); + TEST_ASSERT_EQUAL_STRING("bonjour je suis", join); + + arr2 = malloc(sizeof(arr2_orig)); + for (i = 0; i < sizeof(arr2_orig) / sizeof(char*) - 1; i++) + arr2[i] = strdup(arr2_orig[i]); + arr2[i] = NULL; + join = ft_strsjoinf(arr2, "<|>"); + TEST_ASSERT_NOT_NULL(join); + TEST_ASSERT_EQUAL_STRING("bonjour<|>je<|>suis", join); + + arr2 = malloc(sizeof(arr2_orig)); + for (i = 0; i < sizeof(arr2_orig) / sizeof(char*) - 1; i++) + arr2[i] = strdup(arr2_orig[i]); + arr2[i] = NULL; + join = ft_strsjoinf(arr2, ""); + TEST_ASSERT_NOT_NULL(join); + TEST_ASSERT_EQUAL_STRING("bonjourjesuis", join); + + null_arr = malloc(sizeof(char*)); + null_arr[0] = NULL; + join = ft_strsjoinf(null_arr, "abc"); + TEST_ASSERT_NOT_NULL(join); + TEST_ASSERT_EQUAL_STRING("", join); +} diff --git a/test/src/vec/test_ft_vecpush_safe.c b/test/src/vec/test_ft_vecpush_safe.c new file mode 100644 index 0000000..8546829 --- /dev/null +++ b/test/src/vec/test_ft_vecpush_safe.c @@ -0,0 +1,45 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_vecpush_safe.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 19:41:59 by charles #+# #+# */ +/* Updated: 2020/04/04 23:31:08 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_vecpush_safe); + +TEST_SETUP(ft_vecpush_safe) +{} + +TEST_TEAR_DOWN(ft_vecpush_safe) +{} + +TEST(ft_vecpush_safe, basic) +{ + t_ftvec *vec; + + vec = ft_vecnew(1); + TEST_ASSERT_NULL(ft_vecpush_safe(vec, NULL)); + + TEST_ASSERT_NOT_NULL(ft_vecpush_safe(vec, (void*)0x1UL)); + TEST_ASSERT_EQUAL_HEX(0x1, (unsigned long)vec->data[0]); + TEST_ASSERT_GREATER_OR_EQUAL(1, vec->capacity); + TEST_ASSERT_EQUAL(1, vec->size); + + TEST_ASSERT_NULL(ft_vecpush_safe(vec, NULL)); + TEST_ASSERT_NULL(ft_vecpush_safe(vec, NULL)); + + TEST_ASSERT_NOT_NULL(ft_vecpush_safe(vec, (void*)0x2UL)); + TEST_ASSERT_EQUAL_HEX(0x2, (unsigned long)vec->data[1]); + TEST_ASSERT_GREATER_OR_EQUAL(2, vec->capacity); + TEST_ASSERT_EQUAL(2, vec->size); + + TEST_ASSERT_NULL(ft_vecpush_safe(vec, NULL)); + TEST_ASSERT_NULL(ft_vecpush_safe(vec, NULL)); +} -- cgit From 944a236443bacf531085b346d06907b24e3739b1 Mon Sep 17 00:00:00 2001 From: Charles Date: Sun, 5 Apr 2020 01:11:50 +0200 Subject: Added ft_dstrerase, ft_dstrsubstitute --- test/src/dstr/test_ft_dstrerase.c | 69 ++++++++++++++++++++++++++++++++++ test/src/dstr/test_ft_dstrsubstitute.c | 64 +++++++++++++++++++++++++++++++ test/src/main.c | 2 + test/src/runner/test_runner_dstr.c | 12 +++++- 4 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 test/src/dstr/test_ft_dstrerase.c create mode 100644 test/src/dstr/test_ft_dstrsubstitute.c (limited to 'test/src') diff --git a/test/src/dstr/test_ft_dstrerase.c b/test/src/dstr/test_ft_dstrerase.c new file mode 100644 index 0000000..01ed560 --- /dev/null +++ b/test/src/dstr/test_ft_dstrerase.c @@ -0,0 +1,69 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_dstrerase.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 19:41:59 by charles #+# #+# */ +/* Updated: 2020/04/05 01:02:40 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_dstrerase); + +TEST_SETUP(ft_dstrerase) +{} + +TEST_TEAR_DOWN(ft_dstrerase) +{} + +TEST(ft_dstrerase, basic) +{ + t_ftdstr *dstr; + + dstr = ft_dstrnew("bonjour"); + ft_dstrerase(dstr, 0, 0); + TEST_ASSERT_NOT_NULL(dstr); + TEST_ASSERT_EQUAL(7, dstr->length); + TEST_ASSERT_EQUAL(8, dstr->capacity); + TEST_ASSERT_EQUAL_STRING("bonjour", dstr->str); + + ft_dstrerase(dstr, 2, 0); + TEST_ASSERT_NOT_NULL(dstr); + TEST_ASSERT_EQUAL(7, dstr->length); + TEST_ASSERT_EQUAL(8, dstr->capacity); + TEST_ASSERT_EQUAL_STRING("bonjour", dstr->str); + + ft_dstrerase(dstr, 2, 1); + TEST_ASSERT_NOT_NULL(dstr); + TEST_ASSERT_EQUAL(6, dstr->length); + TEST_ASSERT_EQUAL(8, dstr->capacity); + TEST_ASSERT_EQUAL_STRING("bojour", dstr->str); + + ft_dstrerase(dstr, 6, 1); + TEST_ASSERT_NOT_NULL(dstr); + TEST_ASSERT_EQUAL(6, dstr->length); + TEST_ASSERT_EQUAL(8, dstr->capacity); + TEST_ASSERT_EQUAL_STRING("bojour", dstr->str); + + ft_dstrerase(dstr, 5, 1); + TEST_ASSERT_NOT_NULL(dstr); + TEST_ASSERT_EQUAL(5, dstr->length); + TEST_ASSERT_EQUAL(8, dstr->capacity); + TEST_ASSERT_EQUAL_STRING("bojou", dstr->str); + + ft_dstrerase(dstr, 0, 2); + TEST_ASSERT_NOT_NULL(dstr); + TEST_ASSERT_EQUAL(3, dstr->length); + TEST_ASSERT_EQUAL(8, dstr->capacity); + TEST_ASSERT_EQUAL_STRING("jou", dstr->str); + + ft_dstrerase(dstr, 0, 10); + TEST_ASSERT_NOT_NULL(dstr); + TEST_ASSERT_EQUAL(0, dstr->length); + TEST_ASSERT_EQUAL(8, dstr->capacity); + TEST_ASSERT_EQUAL_STRING("", dstr->str); +} diff --git a/test/src/dstr/test_ft_dstrsubstitute.c b/test/src/dstr/test_ft_dstrsubstitute.c new file mode 100644 index 0000000..d81b944 --- /dev/null +++ b/test/src/dstr/test_ft_dstrsubstitute.c @@ -0,0 +1,64 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* test_ft_dstrsubstitute.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/01 19:41:59 by charles #+# #+# */ +/* Updated: 2020/04/05 01:09:47 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft_test.h" + +TEST_GROUP(ft_dstrsubstitute); + +TEST_SETUP(ft_dstrsubstitute) +{} + +TEST_TEAR_DOWN(ft_dstrsubstitute) +{} + +TEST(ft_dstrsubstitute, basic) +{ + t_ftdstr *dstr; + + dstr = ft_dstrnew("bonjour"); + TEST_ASSERT_NULL(ft_dstrsubstitute(dstr, "bonjour", 8, 1)); + + TEST_ASSERT_NOT_NULL(ft_dstrsubstitute(dstr, "{{{", 0, 0)); + TEST_ASSERT_NOT_NULL(dstr); + TEST_ASSERT_NOT_NULL(dstr->str); + TEST_ASSERT_EQUAL(10, dstr->length); + TEST_ASSERT_GREATER_OR_EQUAL(11, dstr->capacity); + TEST_ASSERT_EQUAL_STRING("{{{bonjour", dstr->str); + + TEST_ASSERT_NOT_NULL(ft_dstrsubstitute(dstr, "]]]", dstr->length, 0)); + TEST_ASSERT_NOT_NULL(dstr); + TEST_ASSERT_NOT_NULL(dstr->str); + TEST_ASSERT_EQUAL(13, dstr->length); + TEST_ASSERT_GREATER_OR_EQUAL(14, dstr->capacity); + TEST_A