diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-31 10:44:30 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-02-02 22:12:42 +0100 |
| commit | ac0559db82bfef3b7ca3d976b1d7700ed2c1c1fc (patch) | |
| tree | 214d344c714bdf5b53d651dbd11fec9e0db283cb /test/src/ht | |
| parent | 9db52bc5ef545a3fa9973002e9a28a2ece68d029 (diff) | |
| download | libft-ac0559db82bfef3b7ca3d976b1d7700ed2c1c1fc.tar.gz libft-ac0559db82bfef3b7ca3d976b1d7700ed2c1c1fc.tar.bz2 libft-ac0559db82bfef3b7ca3d976b1d7700ed2c1c1fc.zip | |
hash table unit testing, norming
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) +{ + +} |
