void test14() { RESIZABLE_TABLE *rt; long grade; int result; rt = rtable_create(); rtable_print_int(rt); printf("Add George\n"); result = rtable_add_int(rt, "George", 89); rtable_print_int(rt); printf("Add Peter\n"); result = rtable_add_int(rt, "Peter", 97); assert(result==0); rtable_print_int(rt); printf("Add George again\n"); result = rtable_add_int(rt, "George", 91); rtable_print_int(rt); grade =(long) rtable_lookup(rt, "Peter"); printf("Peter's grade is: %ld\n", grade); grade = (long) rtable_lookup(rt, "George"); printf("George's grade is: %ld\n", grade); }
void test15() { char name[20]; long grade; int i = 0; int result; RESIZABLE_TABLE *rt; RESIZABLE_TABLE *rt2; rt = rtable_create(); rtable_print_int(rt); for (i=0; i < 30; i++) { printf("Adding %d\n", i); sprintf(name,"name%d", i); grade = 70 + i; result = rtable_add_int(rt, name, grade ); } rtable_print_int(rt); printf("Saving table /notallowed\n"); result = rtable_save_int(rt, "/notallowed"); printf("result1=%d\n", result); printf("Saving table grades1.rt\n"); result = rtable_save_int(rt, "grades1.rt"); printf("result2=%d\n", result); rt2 = rtable_create(); result = rtable_read_int(rt2, "grades1.rt"); rtable_print_int(rt2); }
void test10b() { // Custom test I added to test rtable_read_int and rtable_sort_by_intval int result; RESIZABLE_TABLE *rt; rt = rtable_create(); rtable_print_str(rt); printf("Read non existing table\n"); result = rtable_read_str(rt, "nonexsting.rt"); printf("result1=%d\n", result); printf("Read friends_grades.rt\n"); result = rtable_read_int(rt, "friends_grades.rt"); printf("result2=%d\n", result); rtable_print_int(rt); printf("\nSort ascending\n"); rtable_sort_by_intval(rt,1); rtable_print_int(rt); printf("\nSort descending\n"); rtable_sort_by_intval(rt,0); rtable_print_int(rt); }
void test16() { int result; RESIZABLE_TABLE *rt; rt = rtable_create(); rtable_print_int(rt); printf("Read non existing table\n"); result = rtable_read_int(rt, "nonexsting.rt"); printf("result1=%d\n", result); printf("Read friends.rt\n"); result = rtable_read_int(rt, "friends_grades.rt"); printf("result2=%d\n", result); rtable_print_int(rt); }
int main(int argc, char **argv) { if (argc < 2) { printUsage(); exit(1); } FILE * f; RESIZABLE_TABLE * rt; rt = rtable_create(); if ( argc == 2) { f = fopen(argv[1], "r"); if (f == NULL) exit(0); addWordsTable(f, rt); rtable_sort(rt, 1); rtable_print_int(rt); exit(0); } if ( argc == 3) { f = fopen(argv[2], "r"); if (f == NULL) exit(0); if (strcmp(argv[1], "-w") == 0) { printWordsOnly(f); } if (strcmp(argv[1], "-s") == 0) { addWordsTable(f, rt); rtable_sort_by_intval(rt, 0); } rtable_print_int(rt); exit(0); } exit(1); }