diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-05-09 12:31:50 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-05-09 12:31:50 +0200 |
| commit | 02abc030a68cb2fdd2f21c96db830ec8cb9176ad (patch) | |
| tree | 0c2d67c94a3618639fc2cd29d8bc78820e41c254 /test/src/algo/test_ft_qsort.c | |
| parent | b5124347359833fcde33452978c62133879c6c9e (diff) | |
| parent | 3a2d19df9e509d0b015c786eb02f8315ff0ad91c (diff) | |
| download | libft-02abc030a68cb2fdd2f21c96db830ec8cb9176ad.tar.gz libft-02abc030a68cb2fdd2f21c96db830ec8cb9176ad.tar.bz2 libft-02abc030a68cb2fdd2f21c96db830ec8cb9176ad.zip | |
Merge remote-tracking branch 'origin/minishell'
Diffstat (limited to 'test/src/algo/test_ft_qsort.c')
| -rw-r--r-- | test/src/algo/test_ft_qsort.c | 42 |
1 files changed, 33 insertions, 9 deletions
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*)); +} |
