aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_is.c
blob: 1af5d40ce975ef734959a0fdbfdbaf6842d13210 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#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 ft_r;
  int libc_r;
  int ok;

  ok = 1;
  for (i = -1; i <= 255; i++)
    {
      ft_r = !!ft (i);
      libc_r = !!libc (i);
      if (ft_r != libc_r)
        {
          printf ("  FAIL %s(%d): ft=%d libc=%d\n", name, i, ft_r, libc_r);
          _s_fail++;
          ok = 0;
        }
    }
  if (ok)
    {
      printf ("  PASS %s (all -1..255)\n", name);
      _s_pass++;
    }
}

int
main (void)
{
  printf ("=== is* functions ===\n");
  _s_test_func ("ft_isalpha", ft_isalpha, isalpha);
  _s_test_func ("ft_isdigit", ft_isdigit, isdigit);
  _s_test_func ("ft_isalnum", ft_isalnum, isalnum);
  _s_test_func ("ft_isascii", ft_isascii, isascii);
  _s_test_func ("ft_isprint", ft_isprint, isprint);
  _s_print_results ();
  return (_s_fail != 0);
}