aocc22

Advent of Code 2022
git clone git://www.tkruger.se/aocc22.git
Log | Files | Refs | README

tests.c (3085B)


      1 #include <stdlib.h>
      2 #include <assert.h>
      3 #include <stdio.h>
      4 #include <CUnit/Basic.h>
      5 
      6 #include "test_reading.h"
      7 #include "test_stack_u64.h"
      8 #include "test_stack_str.h"
      9 #include "test_sd.h"
     10 #include "test_smallset.h"
     11 #include "test_stack_sd.h"
     12 #include "test_ht.h"
     13 
     14 CU_pSuite add_suite(char* name, CU_InitializeFunc pInit, CU_CleanupFunc pClean)
     15 {
     16   CU_pSuite pSuite = NULL;
     17 
     18   if (CUE_SUCCESS != CU_initialize_registry()) exit(CU_get_error());
     19 
     20   pSuite = CU_add_suite(name, pInit, pClean);
     21   if (NULL == pSuite) {
     22     CU_cleanup_registry();
     23     exit(CU_get_error());
     24   }
     25 
     26 	return(pSuite);
     27 }
     28 
     29 void add_test(CU_pSuite s, char* desc, CU_TestFunc fn)
     30 {
     31 	if(NULL == CU_add_test(s, desc, fn)) {
     32 		CU_cleanup_registry();
     33 		exit(CU_get_error());
     34 	}
     35 }
     36 
     37 int main() {
     38   if (CUE_SUCCESS != CU_initialize_registry()) return CU_get_error();
     39 
     40   CU_pSuite s_all = add_suite("suite_all", NULL, NULL);
     41 
     42   add_test(s_all, "reading - readall()", test_reading_readall);
     43 	add_test(s_all, "reading - readlines()", test_reading_readlines);
     44 	add_test(s_all, "reading - read_next_u64()", test_reading_read_next_u64);
     45 	add_test(s_all, "reading - sread_next_u64()", test_reading_sread_next_u64);
     46 
     47   add_test(s_all, "stack_u64 - init()", test_stack_u64_init);
     48 	add_test(s_all, "stack_u64 - push()", test_stack_u64_push);
     49 	add_test(s_all, "stack_u64 - get_getlast()", test_stack_u64_get_getlast);
     50 	add_test(s_all, "stack_u64 - pop()", test_stack_u64_pop);
     51 
     52 	add_test(s_all, "stack_str - init()", test_stack_str_init);
     53 	add_test(s_all, "stack_str - push()", test_stack_str_push);
     54 	add_test(s_all, "stack_str - get_getlast()", test_stack_str_get_getlast);
     55 	add_test(s_all, "stack_str - pop()", test_stack_str_pop);
     56 
     57   add_test(s_all, "sd - init()", test_sd_init);
     58 	add_test(s_all, "sd - cmp()", test_sd_cmp);
     59 	add_test(s_all, "sd - hash()", test_sd_hash);
     60 	add_test(s_all, "sd - sd_conv_u64()", test_sd_conv_u64);
     61 	add_test(s_all, "sd - sd_get_str()", test_sd_get_str);
     62 
     63   add_test(s_all, "smallset - init()", test_smallset_init);
     64   add_test(s_all, "smallset - insert()", test_smallset_insert);
     65   add_test(s_all, "smallset - lookup()", test_smallset_lookup);
     66   add_test(s_all, "smallset - intersection()", test_smallset_intersection);
     67   add_test(s_all, "smallset - tonstr()", test_smallset_tonstr);
     68   add_test(s_all, "smallset - empty()", test_smallset_empty);
     69   add_test(s_all, "smallset - cardinality()", test_smallset_cardinality);
     70 
     71 	add_test(s_all, "stack_sd - init()", test_stack_sd_init);
     72 	add_test(s_all, "stack_sd - push()", test_stack_sd_push);
     73 	add_test(s_all, "stack_sd - get()", test_stack_sd_get);
     74 	add_test(s_all, "stack_sd - getlast()", test_stack_sd_getlast);
     75 	add_test(s_all, "stack_sd - pop()", test_stack_sd_pop);
     76 	add_test(s_all, "stack_sd - lookup()", test_stack_sd_lookup);
     77 
     78   add_test(s_all, "ht - init()", test_ht_init);
     79   add_test(s_all, "ht - insert()", test_ht_insert);
     80   add_test(s_all, "ht - lookup()", test_ht_lookup);
     81 
     82   /* Run all tests using the CUnit Basic interface */
     83   CU_basic_set_mode(CU_BRM_VERBOSE);
     84   CU_basic_run_tests();
     85   CU_cleanup_registry();
     86   return CU_get_error();
     87 }