diff options
Diffstat (limited to 'test/src/ht')
| -rw-r--r-- | test/src/ht/test_ft_htcontent_new.c | 0 | ||||
| -rw-r--r-- | test/src/ht/test_ft_htdelone.c | 0 | ||||
| -rw-r--r-- | test/src/ht/test_ft_htdelone_key.c | 0 | ||||
| -rw-r--r-- | test/src/ht/test_ft_htdestroy.c | 0 | ||||
| -rw-r--r-- | test/src/ht/test_ft_htdestroy_all.c | 0 | ||||
| -rw-r--r-- | test/src/ht/test_ft_htdestroy_key.c | 0 | ||||
| -rw-r--r-- | test/src/ht/test_ft_htget.c | 35 | ||||
| -rw-r--r-- | test/src/ht/test_ft_hthash.c | 0 | ||||
| -rw-r--r-- | test/src/ht/test_ft_htnew.c | 38 | ||||
| -rw-r--r-- | test/src/ht/test_ft_htset.c | 51 |
10 files changed, 124 insertions, 0 deletions
diff --git a/test/src/ht/test_ft_htcontent_new.c b/test/src/ht/test_ft_htcontent_new.c new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/src/ht/test_ft_htcontent_new.c diff --git a/test/src/ht/test_ft_htdelone.c b/test/src/ht/test_ft_htdelone.c new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/src/ht/test_ft_htdelone.c diff --git a/test/src/ht/test_ft_htdelone_key.c b/test/src/ht/test_ft_htdelone_key.c new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/src/ht/test_ft_htdelone_key.c diff --git a/test/src/ht/test_ft_htdestroy.c b/test/src/ht/test_ft_htdestroy.c new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/src/ht/test_ft_htdestroy.c diff --git a/test/src/ht/test_ft_htdestroy_all.c b/test/src/ht/test_ft_htdestroy_all.c new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/src/ht/test_ft_htdestroy_all.c diff --git a/test/src/ht/test_ft_htdestroy_key.c b/test/src/ht/test_ft_htdestroy_key.c new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/src/ht/test_ft_htdestroy_key.c diff --git a/test/src/ht/test_ft_htget.c b/test/src/ht/test_ft_htget.c new file mode 100644 index 0000000..5c7db28 --- /dev/null +++ b/test/src/ht/test_ft_htget.c @@ -0,0 +1,35 @@ +#include "libft_test.h" + +TEST_GROUP(ft_htget); + +static t_ftht *ht; + +TEST_SETUP(ft_htget) +{ + ht = ft_htnew(10); +} + +TEST_TEAR_DOWN(ft_htget) +{ + /* ft_htdestroy_key(ht); */ +} + +int helper_segfault_pid; + +TEST(ft_htget, segfault) +{ + TEST_ASSERT_SEGFAULT(ft_htget((t_ftht*)NULL, "")); + TEST_ASSERT_SEGFAULT(ft_htget(ft_htnew(1), (char*)NULL)); + TEST_ASSERT_SEGFAULT(ft_htget(ft_htnew(1), "")); + TEST_ASSERT_SEGFAULT(ft_htget(ft_htnew(1), "asdkfhjaklsdfhahjsdfk")); +} + +TEST(ft_htget, error_null) +{ + TEST_ASSERT_NULL(ft_htget(NULL, NULL)); + TEST_ASSERT_NULL(ft_htget(ht, NULL)); + TEST_ASSERT_NULL(ft_htget(NULL, "")); + TEST_ASSERT_NULL(ft_htget(ht, "")); + TEST_ASSERT_NULL(ft_htget(ht, "hi")); + TEST_ASSERT_NULL(ft_htget(ht, "asdfkasdflk")); +} diff --git a/test/src/ht/test_ft_hthash.c b/test/src/ht/test_ft_hthash.c new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/src/ht/test_ft_hthash.c diff --git a/test/src/ht/test_ft_htnew.c b/test/src/ht/test_ft_htnew.c new file mode 100644 index 0000000..2696e7f --- /dev/null +++ b/test/src/ht/test_ft_htnew.c @@ -0,0 +1,38 @@ +#include "libft_test.h" + + +TEST_GROUP(ft_htnew); + +TEST_SETUP(ft_htnew) +{} + +TEST_TEAR_DOWN(ft_htnew) +{} + +int helper_segfault_pid; + +TEST(ft_htnew, segfault) +{ + TEST_ASSERT_SEGFAULT(ft_htnew(10)); + TEST_ASSERT_SEGFAULT(ft_htnew(0)); + TEST_ASSERT_SEGFAULT(ft_htnew((1 << 14) + 1)); +} + +TEST(ft_htnew, error_null) +{ + TEST_ASSERT_NOT_NULL(ft_htnew(10)); // leak + TEST_ASSERT_NULL(ft_htnew(0)); + TEST_ASSERT_NULL(ft_htnew((1 << 14) + 1)); +} + +TEST(ft_htnew, happy_path) +{ + t_ftht *ht; + + ht = ft_htnew(10); + TEST_ASSERT_NOT_NULL(ht); + TEST_ASSERT_EQUAL(ht->size, 10); + TEST_ASSERT_NOT_NULL(ht->entries); + for (t_ftsize i = 0; i < ht->size; i++) + TEST_ASSERT_NULL(ht->entries[i]); +} diff --git a/test/src/ht/test_ft_htset.c b/test/src/ht/test_ft_htset.c new file mode 100644 index 0000000..aa6bfc5 --- /dev/null +++ b/test/src/ht/test_ft_htset.c @@ -0,0 +1,51 @@ +#include "libft_test.h" + +TEST_GROUP(ft_htset); + +static t_ftht *ht; + +TEST_SETUP(ft_htset) +{ + ht = ft_htnew(10); +} + +TEST_TEAR_DOWN(ft_htset) +{ + ft_htdestroy_key(ht); +} + +TEST(ft_htset, segfault) +{ + TEST_ASSERT_SEGFAULT(ft_htset(NULL, "", strdup(""))); + TEST_ASSERT_SEGFAULT(ft_htset(ft_htnew(1), NULL, strdup(""))); + TEST_ASSERT_SEGFAULT(ft_htset(ft_htnew(1), "", NULL)); + TEST_ASSERT_SEGFAULT(ft_htset(ft_htnew(1), "", strdup(""))); + TEST_ASSERT_SEGFAULT(ft_htset(ft_htnew(1), "hi", strdup(""))); + TEST_ASSERT_SEGFAULT(ft_htset(ft_htnew(1), "asdfasdfasdc", strdup(""))); +} + +TEST(ft_htset, error_null) +{ + TEST_ASSERT_NULL(ft_htset(NULL, "", strdup("1"))); + TEST_ASSERT_NULL(ft_htset(ht, NULL, strdup("2"))); + TEST_ASSERT_NOT_NULL(ft_htset(ht, "", strdup("3"))); + TEST_ASSERT_NOT_NULL(ft_htset(ht, "a", strdup("4"))); + TEST_ASSERT_NOT_NULL(ft_htset(ht, "b", strdup("5"))); + TEST_ASSERT_NOT_NULL(ft_htset(ht, "c", strdup("6"))); + TEST_ASSERT_NOT_NULL(ft_htset(ht, "d", strdup("7"))); +} + +TEST(ft_htset, happy_path) +{ + t_ftht_content *content = ft_htset(ht, "bonjour", strdup("content")); + 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"); +} + +TEST(ft_htset, collision) +{ + +} |
