#include "libft.h" #include int ft_putstr(const char *str) { return (write(1, str, strlen(str))); } /* int ft_putchar(const char c) */ /* { */ /* return (write(1, &c, 1)); */ /* } */ int ft_putnstr(const char *str, size_t n) { return (write(1, str, n)); } int test_bzero() { ft_putstr(__func__); ft_putstr(":\n"); char str[] = "Bonjour je suis une chaine de char!\n"; char str_cmp[] = "Bonjour je suis une chaine de char!\n"; int len = strlen(str); int result = 0; int i; ft_bzero(NULL, 250); bzero(str_cmp, 1); ft_bzero(str, 1); i = -1; ++result; while (++i < len) { if (str[i] != str_cmp[i]) { printf("Failed[%d]: %c vs %c at pos: %d\n", result, str[i], str_cmp[i], i); ft_putnstr(str, len); ft_putnstr(str_cmp, len); return(1); } } bzero(str_cmp + 5, 4); ft_bzero(str + 5, 4); ++result; i = -1; while (++i < len) { if (str[i] != str_cmp[i]) { printf("Failed[%d]: %c vs %c at pos: %d\n", result, str[i], str_cmp[i], i); ft_putnstr(str, len); ft_putnstr(str_cmp, len); return(1); } } bzero(str_cmp + 2, len - 3); ft_bzero(str + 2, len - 3); ++result; i = -1; while (++i < len) { if (str[i] != str_cmp[i]) { printf("Failed[%d]: %c vs %c at pos: %d\n", result, str[i], str_cmp[i], i); ft_putnstr(str, len); ft_putnstr(str_cmp, len); return(1); } } return (0); } int test_strcat() { ft_putstr(__func__); ft_putstr(":\n"); char str[20] = "first_"; char str2[] = "second\n"; char str_cmp[20] = "first_"; char str_cmp2[] = "second\n"; int len = 20; int i; strcat(str_cmp, str_cmp2); ft_strcat(str, str2); i = -1; while (++i < len) { if (str[i] != str_cmp[i]) { printf("Failed: %c vs %c at pos: %d\n", str[i], str_cmp[i], i); ft_putnstr(str, len); ft_putnstr(str_cmp, len); return(1); } } return (0); } int test_isalpha() { ft_putstr(__func__); ft_putstr(":\n"); char a = -1; int ret, ret_cmp; while (++a < 127) { if ((ret = ft_isalpha(a) == 0) != (ret_cmp = isalpha(a) == 0)) { printf("FAILED: %c [%d] => %d vs %d\n", a, a, ret, ret_cmp); return (1); } } return (0); } int test_isdigit() { ft_putstr(__func__); ft_putstr(":\n"); char a = -1; int ret, ret_cmp; while (++a < 127) { if ((ret = ft_isdigit(a) == 0) != (ret_cmp = isdigit(a) == 0)) { printf("FAILED: %c [%d] => %d vs %d\n", a, a, ret, ret_cmp); return(1); } } return (0); } int test_isascii() { ft_putstr(__func__); ft_putstr(":\n"); char a = -1; int ret, ret_cmp; while (++a < 127) { if ((ret = ft_isascii(a) == 0) != (ret_cmp = isascii(a) == 0)) { printf("FAILED: %c [%d] => %d vs %d\n", a, a, ret, ret_cmp); return(1); } } return (0); } int test_isalnum() { ft_putstr(__func__); ft_putstr(":\n"); char a = -1; int ret, ret_cmp; while (++a < 127) { if ((ret = ft_isalnum(a) == 0) != (ret_cmp = isalnum(a) == 0)) { printf("FAILED: %c [%d] => %d vs %d\n", a, a, ret, ret_cmp); return(1); } } return (0); } int test_isprint() { ft_putstr(__func__); ft_putstr(":\n"); char a = -1; int ret, ret_cmp; while (++a < 127) { if ((ret = ft_isprint(a) == 0) != (ret_cmp = isprint(a) == 0)) { printf("FAILED: %c [%d] => %d vs %d\n", a, a, ret, ret_cmp); return(1); } } return (0); } int test_toupper() { ft_putstr(__func__); ft_putstr(":\n"); char a = -1; while (++a < 127) { if (ft_toupper(a) != toupper(a)) { printf("FAILED: %c [%d]\n", a, a); return(1); } } return (0); } int test_tolower() { ft_putstr(__func__); ft_putstr(":\n"); char a = -1; while (++a < 127) { if (ft_tolower(a) != tolower(a)) { printf("FAILED: %c [%d]\n", a, a); return(1); } } return (0); } /* int test_puts() */ /* { */ /* ft_putstr(__func__); ft_putstr(":\n"); */ /* char str[] = "It's a char line you have to print. Not this one"; */ /* str[35] = 0; */ /* int ret, ret_cmp; */ /* /1* ft_putstr("Original:"); ret_cmp = puts(str); *1/ */ /* ft_putstr("Notre___:|"); ft_puts(NULL);ft_putstr("|\n"); */ /* ft_putstr("Notre___:|"); ret = ft_puts(str);ft_putstr("|\n"); */ /* ft_putstr("Original:|"); ret_cmp = puts(str);ft_putstr("|\n"); */ /* if (ret != ret_cmp) */ /* { */ /* printf("FAILED: %d vs %d\n", ret, ret_cmp); */ /* return (1); */ /* } */ /* return (0); */ /* } */ /* int test_strlen() */ /* { */ /* ft_putstr(__func__); ft_putstr(":\n"); */ /* char str[] = "zagaga"; */ /* int ret, ret_cmp; */ /* ret = ft_strlen(str); */ /* ret_cmp = strlen(str); */ /* if (ret != ret_cmp) */ /* { */ /* printf("FAILED: %d vs %d (on %s)", ret, ret_cmp, str); */ /* return (1); */ /* } */ /* ret = ft_strlen(NULL); */ /* ret_cmp = 0; */ /* if (ret != ret_cmp) */ /* { */ /* printf("FAILED: %d vs %d (on nullptr)", ret, ret_cmp); */ /* return (1); */ /* } */ /* return (0); */ /* } */ /* int test_memset() */ /* { */ /* ft_putstr(__func__); ft_putstr(":\n"); */ /* char a = -1; */ /* char str[] = "Bonjour je suis une chaine de char!\n"; */ /* char str_cmp[] = "Bonjour je suis une chaine de char!\n"; */ /* char *ret, *ret_cmp; */ /* int len = strlen(str); */ /* int result = 0; */ /* int i; */ /* while (++a < 127) */ /* { */ /* ++result; */ /* if (ft_memset(NULL, a, 250) != NULL) */ /* { */ /* printf("Failed[%d]: memset on NULL\n", result); */ /* return (1); */ /* } */ /* ret_cmp = memset(str_cmp, a, 1); */ /* ret = ft_memset(str, a, 1); */ /* i = -1; */ /* ++result; */ /* while (++i < len) */ /* { */ /* if (ret[i] != ret_cmp[i]) */ /* { */ /* ft_putnstr(ret, len); */ /* ft_putnstr(ret_cmp, len); */ /* printf("Failed[%d]: %c vs %c at pos: %d/%d\n", result, ret[i], ret_cmp[i], i, len); */ /* return(1); */ /* } */ /* } */ /* ret_cmp = memset(str_cmp + 5, a, 4); */ /* ret = ft_memset(str + 5, a, 4); */ /* ++result; */ /* i = -1; */ /* while (++i < (len - 5)) */ /* { */ /* if (ret[i] != ret_cmp[i]) */ /* { */ /* ft_putnstr(ret, len); */ /* ft_putnstr(ret_cmp, len); */ /* printf("Failed[%d]: %c vs %c at pos: %d/%d\n", result, ret[i], ret_cmp[i], i, len); */ /* return(1); */ /* } */ /* } */ /* ret_cmp = memset(str_cmp + 2, a, len - 3); */ /* ret = ft_memset(str + 2, a, len - 3); */ /* ++result; */ /* i = -1; */ /* while (++i < (len - 2)) */ /* { */ /* if (ret[i] != ret_cmp[i]) */ /* { */ /* ft_putnstr(ret, len); */ /* ft_putnstr(ret_cmp, len); */ /* printf("Failed[%d]: %c vs %c at pos: %d/%d\n", result, ret[i], ret_cmp[i], i, len); */ /* return(1); */ /* } */ /* } */ /* } */ /* return (0); */ /* } */ /* int test_memcpy() */ /* { */ /* ft_putstr(__func__); ft_putstr(":\n"); */ /* char str[] = "Bonjour je suis une chaine de char!\n"; */ /* char str_cmp[] = "Bonjour je suis une chaine de char!\n"; */ /* char ret[100], ret_cmp[100]; */ /* char *me, *cmp; */ /* int len = strlen(str); */ /* int result = 0; */ /* int i; */ /* ++result; */ /* if (ft_memcpy(NULL, str, 250) != NULL) */ /* { */ /* printf("Failed[%d]: memcpy on NULL\n", result); */ /* return (1); */ /* } */ /* ++result; */ /* if (ft_memcpy(ret, NULL, 250) != NULL) */ /* { */ /* printf("Failed[%d]: memcpy on NULL\n", result); */ /* return (1); */ /* } */ /* cmp = memcpy(ret_cmp, str_cmp, len); */ /* me = ft_memcpy(ret, str, len); */ /* i = -1; */ /* ++result; */ /* while (++i < len) */ /* { */ /* if (me[i] != cmp[i]) */ /* { */ /* ft_putnstr(ret, len); */ /* ft_putnstr(ret_cmp, len); */ /* printf("Failed[%d]: %c vs %c at pos: %d/%d\n", result, me[i], cmp[i], i, len); */ /* return(1); */ /* } */ /* } */ /* memcpy(ret_cmp + len, str_cmp, len); */ /* ft_memcpy(ret + len, str, len); */ /* i = -1; */ /* ++result; */ /* while (++i < 2 * len) */ /* { */ /* if (me[i] != cmp[i]) */ /* { */ /* ft_putnstr(ret, 2 * len); */ /* ft_putnstr(ret_cmp, 2 * len); */ /* printf("Failed[%d]: %c vs %c at pos: %d/%d\n", result, me[i], cmp[i], i, 2 * len); */ /* return(1); */ /* } */ /* } */ /* return (0); */ /* } */ /* int test_strdup() */ /* { */ /* ft_putstr(__func__); ft_putstr(":\n"); */ /* char *str; */ /* char *str_cmp; */ /* int len, len_cmp; */ /* int i; */ /* if ((str = ft_strdup(NULL)) != NULL) */ /* { */ /* printf("FAILED: not support NULL\n"); */ /* return (1); */ /* } */ /* str = ft_strdup("Coucou"); */ /* str_cmp = strdup("Coucou"); */ /* len = strlen(str); */ /* len_cmp = strlen(str_cmp); */ /* if (len != len_cmp) */ /* { */ /* printf("FAILED: len is %d vs %d\n", len, len_cmp); */ /* return (1); */ /* } */ /* i = -1; */ /* while (++i < len) */ /* { */ /* if (str[i] != str_cmp[i]) */ /* { */ /* ft_putnstr(str, len); */ /* ft_putnstr(str_cmp, len); */ /* printf("FAILED: %c vs %c\n", str[i], str_cmp[i]); */ /* return (1); */ /* } */ /* } */ /* free(str); */ /* free(str_cmp); */ /* return (0); */ /* } */ /* int test_cat(char ** argv) */ /* { */ /* ft_putstr(__func__); ft_putstr(":\n"); */ /* ft_putstr("Wait for a user input:\n"); */ /* ft_cat(0); */ /* ft_cat(open(__FILE__, O_RDONLY)); */ /* ft_cat(open(argv[0], O_RDONLY)); */ /* ft_cat(-42); */ /* return (0); */ /* } */ int test_isupper() { ft_putstr(__func__); ft_putstr(":\n"); char a = -1; int ret, ret_cmp; while (++a < 127) { if ((ret = ft_isupper(a) == 0) != (ret_cmp = isupper(a) == 0)) { printf("FAILED: %c [%d] => %d vs %d\n", a, a, ret, ret_cmp); return(1); } } return (0); } int test_islower() { ft_putstr(__func__); ft_putstr(":\n"); char a = -1; int ret, ret_cmp; while (++a < 127) { if ((ret = ft_islower(a) == 0) != (ret_cmp = islower(a) == 0)) { printf("FAILED: %c [%d] => %d vs %d\n", a, a, ret, ret_cmp); return(1); } } return (0); } /* int test_putchar() */ /* { */ /* ft_putstr(__func__); ft_putstr(":\n"); */ /* int a = -500; */ /* int ret, ret_cmp; */ /* while (++a < 500) */ /* { */ /* if ((ret = ft_putchar(a)) != (ret_cmp = putchar(a))) */ /* { */ /* printf("FAILED: %c [%d] => %d vs %d\n", a, a, ret, ret_cmp); */ /* return(1); */ /* } */ /* } */ /* return (0); */ /* } */ int main(int argc, char **argv) { (void)argc; (void)argv; ft_putstr("PART 1:\n_______\n"); if (test_bzero() || test_isdigit() || test_isalpha() || test_strcat() || test_isascii() || test_isalnum() || test_isprint() || test_toupper() || test_tolower()) /* test_puts()) */ return (1); /* ft_putstr("\nPART 2:\n_______\n"); */ /* if (test_strlen() || */ /* test_memset() || */ /* test_memcpy() || */ /* test_strdup()) */ /* return (1); */ /* ft_putstr("\nPART 3:\n_______\n"); */ /* /1* if (test_cat(argv)) *1/ */ /* /1* return (1); *1/ */ ft_putstr("\nPART BONUS:\n_______\n"); if (test_isupper() || test_islower()) /* test_putchar()) */ /* return (1); */ puts("\033c\n\033[38;5;117mALL PASSED:\n___________\n\033[0m"); return (0); }