diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-04-04 15:58:24 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-04-04 15:58:24 +0200 |
| commit | 51b845a6a202b50966f50e166cfb11bcbdccbe33 (patch) | |
| tree | 35658c668ab4aa9214f311b209996c52fc8030e0 /test/src/algo/test_ft_qsort.c | |
| parent | 636c3ff6b600c291a40877ac52d8b0a1a58b9b79 (diff) | |
| download | libft-51b845a6a202b50966f50e166cfb11bcbdccbe33.tar.gz libft-51b845a6a202b50966f50e166cfb11bcbdccbe33.tar.bz2 libft-51b845a6a202b50966f50e166cfb11bcbdccbe33.zip | |
Added ft_strsjoin, ft_strsjoinf, ft_compar_str, ft_vecsort, ft_vecpush_safe
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*)); +} |
