libasm/main_bonus.c

48 lines
1.6 KiB
C

#include <assert.h>
#include <stdlib.h>
#include "libasm.h"
void test_ft_list(void) {
t_list *list = NULL;
assert(ft_list_size(list) == 0);
ft_list_push_front(&list, ft_strdup("abc"));
ft_list_push_front(&list, ft_strdup("cdb"));
ft_list_push_front(&list, ft_strdup("abc"));
ft_list_push_front(&list, ft_strdup("egh"));
ft_list_push_front(&list, ft_strdup("egb"));
ft_list_push_front(&list, ft_strdup("abc"));
assert(ft_list_size(list) == 6);
ft_list_push_front(&list, ft_strdup("dgb"));
ft_list_push_front(&list, ft_strdup("zzz"));
assert(ft_list_size(list) == 8);
ft_list_remove_if(&list, (void *)"abc", &ft_strcmp, &free);
assert(ft_list_size(list) == 5);
assert(ft_strcmp(list->data, "zzz") == 0);
ft_list_sort(&list, &ft_strcmp);
assert(ft_strcmp(list->data, "cdb") == 0);
ft_list_remove_if(&list, (void *)"cdb", &ft_strcmp, &free);
ft_list_remove_if(&list, (void *)"zzz", &ft_strcmp, &free);
ft_list_remove_if(&list, (void *)"egh", &ft_strcmp, &free);
ft_list_remove_if(&list, (void *)"dgb", &ft_strcmp, &free);
ft_list_remove_if(&list, (void *)"egb", &ft_strcmp, &free);
}
void test_ft_atoi_base(void) {
assert(ft_atoi_base("01", "01") == 1);
assert(ft_atoi_base("123chmod", "0123456789") == 123);
assert(ft_atoi_base("123", "0123456789") == 123);
assert(ft_atoi_base("+++++123", "0123456789") == 123);
assert(ft_atoi_base("+++++----123", "0123456789") == 123);
assert(ft_atoi_base("+-++++----123", "0123456789") == -123);
assert(ft_atoi_base("poneyvif", "poneyvif") == 342391);
}
int main(void) {
test_ft_list();
test_ft_atoi_base();
return 0;
}