aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_case.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_case.c')
-rw-r--r--tests/test_case.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/test_case.c b/tests/test_case.c
new file mode 100644
index 0000000..44b567a
--- /dev/null
+++ b/tests/test_case.c
@@ -0,0 +1,36 @@
+#include "../libft.h"
+#include "test_utils.h"
+#include <ctype.h>
+
+static void
+_s_test_func (const char *name, int (*ft) (int), int (*libc) (int))
+{
+ int i;
+ int ok;
+
+ ok = 1;
+ for (i = -1; i <= 255; i++)
+ {
+ if (ft (i) != libc (i))
+ {
+ printf (" FAIL %s(%d): ft=%d libc=%d\n", name, i, ft (i), libc (i));
+ _s_fail++;
+ ok = 0;
+ }
+ }
+ if (ok)
+ {
+ printf (" PASS %s (all -1..255)\n", name);
+ _s_pass++;
+ }
+}
+
+int
+main (void)
+{
+ printf ("=== case functions ===\n");
+ _s_test_func ("ft_toupper", ft_toupper, toupper);
+ _s_test_func ("ft_tolower", ft_tolower, tolower);
+ _s_print_results ();
+ return (_s_fail != 0);
+}