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 ++++-------- 4 files changed, 46 insertions(+), 70 deletions(-) (limited to 'test/src/ht') 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); -- cgit