Пример #1
0
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);
}
Пример #2
0
void test1() {
	RESIZABLE_TABLE *rt;
	char * address;
	int result;

	rt = rtable_create();

	rtable_print_str(rt);

	printf("Add George\n");
	result = rtable_add_str(rt, "George", "23 Oak St, West Lafayette, 47906");

	rtable_print_str(rt);

	printf("Add Peter\n");
	result = rtable_add_str(rt, "Peter", "27 Oak St, West Lafayette, 47906");
	assert(result==0);

	rtable_print_str(rt);

	address = rtable_lookup(rt, "Peter");
	printf("Peter's address is: %s\n", address);

	address = rtable_lookup(rt, "George");
	printf("George's address is: %s\n", address);
}
Пример #3
0
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);
}
Пример #4
0
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);
}
Пример #5
0
void test10() {
	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.rt\n");
	result = rtable_read_str(rt, "friends.rt");
	printf("result2=%d\n", result);

	rtable_print_str(rt);

	printf("\nSort ascending\n");
	rtable_sort(rt,1);
	rtable_print_str(rt);

	printf("\nSort descending\n");
	rtable_sort(rt,0);
	rtable_print_str(rt);
}
Пример #6
0
void test8() {
	char name[20];
	char address[20];
	int i = 0;
	int result;
	RESIZABLE_TABLE *rt;

	rt = rtable_create();
	rtable_print_str(rt);

	for (i=0; i < 30; i++) {
		printf("Adding %d\n", i);
		sprintf(name,"name%d", i);
		sprintf(address, "address%d", i);
		result = rtable_add_str(rt, name, address );
	}
	rtable_print_str(rt);

	printf("Saving table /notallowed\n");
	result = rtable_save_str(rt, "/notallowed");
	printf("result1=%d\n", result);
    
	printf("Saving table mytable1.rt\n");
	result = rtable_save_str(rt, "mytable1.rt");
	printf("result2=%d\n", result);

	printf("----- cat mytable1.rt -----\n");
	system("cat mytable1.rt");
}
Пример #7
0
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);
}
Пример #8
0
void test3() {
	char name[20];
	char address[20];
	int i = 0;
	//int result;
	RESIZABLE_TABLE *rt;

	rt = rtable_create();
	rtable_print_str(rt);

	for (i=0; i < 30; i++) {
		printf("Adding %d\n", i);
		sprintf(name,"name%d", i);
		sprintf(address, "address%d", i);
	//	result = rtable_add_str(rt, name, address);
	}
	rtable_print_str(rt);

}
Пример #9
0
void test7() {
	char name[20];
	char address[20];
	int i = 0;
	//int result;
	RESIZABLE_TABLE *rt;

	rt = rtable_create();
	rtable_print_str(rt);

	for (i=0; i < 30; i++) {
		printf("Adding %d\n", i);
		sprintf(name,"name%d", i);
		sprintf(address, "address%d", i);
		//result = rtable_add_str(rt, name, address );
	}
	rtable_print_str(rt);

	printf("number in table: %d, max: %d\n",
	       rtable_number_elements(rt), rtable_max_elements(rt));
}
Пример #10
0
void test11() {
	char name[20];
	char address[20];
	int i = 0;
	int result;
	RESIZABLE_TABLE *rt;

	rt = rtable_create();
	rtable_print_str(rt);

	result = rtable_remove_first(rt);
	printf("rtable_remove_first result=%d\n", result);

	result = rtable_remove_last(rt);
	printf("rtable_remove_last result=%d\n", result);
	
	for (i=0; i < 30; i++) {
		printf("Adding %d\n", i);
		sprintf(name,"name%d", i);
		sprintf(address, "address%d", i);
		result = rtable_add_str(rt, name, address);
	}
	rtable_print_str(rt);

	// Remove from one side or the other
	for (i=0; i < 10; i++) {
		result = rtable_remove_first(rt);
		printf("rtable_remove_first result=%d\n", result);
	}

	rtable_print_str(rt);

	for (i=0; i < 10; i++) {
		result = rtable_remove_last(rt);
		printf("rtable_remove_last result=%d\n", result);
	}

	rtable_print_str(rt);
	
}
Пример #11
0
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);
}
Пример #12
0
void test12() {
	char name[20];
	char address[20];
	int i = 0;
	int result;
	RESIZABLE_TABLE *rt;

	rt = rtable_create();
	rtable_print_str(rt);

	for (i=0; i < 30; i++) {
		printf("Adding %d\n", i);
		sprintf(name,"name%d", i);
		sprintf(address, "address%d", i);
		result = rtable_add_str(rt, name, address);
		printf ("Result: %d\n", result);
	}
	rtable_print_str(rt);

	for (i=40; i < 50; i++) {
		printf("Adding first %d\n", i);
		sprintf(name,"name%d", i);
		sprintf(address, "address%d", i);
		result = rtable_insert_first(rt, name, (void*) strdup(address) );
		printf ("Result: %d\n", result);
	}
	rtable_print_str(rt);

	for (i=50; i < 60; i++) {
		printf("Adding %d\n", i);
		sprintf(name,"name%d", i);
		sprintf(address, "address%d", i);
		result = rtable_insert_last(rt, name, (void *) strdup(address) );
		printf ("Result: %d\n", result);
	}
	rtable_print_str(rt);

}
Пример #13
0
void test4() {
	char name[20];
	char address[20];
	int i = 0;
	int result;
	RESIZABLE_TABLE *rt;

	rt = rtable_create();
	rtable_print_str(rt);

	for (i=0; i < 30; i++) {
		printf("Adding %d\n", i);
		sprintf(name,"name%d", i);
		sprintf(address, "address%d", i);
		result = rtable_add_str(rt, name, address );
	}
	rtable_print_str(rt);

	printf("remove name5\n");
	result = rtable_remove(rt, "name5");
	printf("result1=%d\n", result);

	rtable_print_str(rt);

	printf("remove name18\n");
	result = rtable_remove(rt, "name18");
	printf("result2=%d\n", result);

	rtable_print_str(rt);

	printf("remove name64\n");
	result = rtable_remove(rt, "name64");
	printf("result3=%d\n", result);

	rtable_print_str(rt);
}
Пример #14
0
void test6() {
	char name[20];
	char address[20];
	int i = 0;
	int result;
	RESIZABLE_TABLE *rt;

	rt = rtable_create();
	rtable_print_str(rt);

	for (i=0; i < 30; i++) {
		printf("Adding %d\n", i);
		sprintf(name,"name%d", i);
		sprintf(address, "address%d", i);
		result = rtable_add_str(rt, name, address );
	}
	rtable_print_str(rt);

	printf("remove name in position 5\n");
	result = rtable_remove_ith(rt, 5);
	printf("result1=%d\n", result);

	rtable_print_str(rt);

	printf("remove name in position 23\n");
	result = rtable_remove_ith(rt, 23);
	printf("result2=%d\n", result);

	rtable_print_str(rt);

	printf("remove name in position 67\n");
	result = rtable_remove_ith(rt, 67);
	printf("result3=%d\n", result);

	rtable_print_str(rt);
}
Пример #15
0
void test5() {
	char name[20];
	char address[20];
	int i = 0;
	int result;
	RESIZABLE_TABLE *rt;
	char * name2, * value2;

	rt = rtable_create();
	rtable_print_str(rt);

	for (i=0; i < 30; i++) {
		printf("Adding %d\n", i);
		sprintf(name,"name%d", i);
		sprintf(address, "address%d", i);
		result = rtable_add_str(rt, name, address );
	}
	rtable_print_str(rt);

	// Get 11th value
	printf("Lookup 11th entry\n");
	result = rtable_get_ith(rt, 11, &name2, (void**) &value2);
	printf("For 11th value name=%s value=%s\n", name2, value2);
	printf("result1=%d\n", result);

	// Get 23th value
	printf("Lookup 23th entry\n");
	result = rtable_get_ith(rt, 23, &name2, (void **) &value2);
	printf("For 23th value name=%s value=%s\n", name2, value2);
	printf("result2=%d\n", result);

	// Get 64th value
	printf("Lookup 64th entry\n");
	result = rtable_get_ith(rt, 64, &name2, (void**) &value2);
	printf("result3=%d\n", result);
}