#include "vector.h" #include <stdio.h> enum TestID{ TEST_UTILITY, TEST_VECTOR, END } test_id; const char *test_name[2] = { "utility", "vector" }; void printVector(const char *s, int *k){ int count = ctl_vector_getSize(&k); int size = ctl_vector_getEntrySize(&k); printf("vecotr %s: (count = %d, size = %d)\n", s, count, size); int i; for(i = 0; i < count; i++) printf(" [%d] = %d\n", i, k[i]); printf("\n"); } int main(){ while(1){ printf("Which object do you want to test?\n"); for(test_id = 0; test_id < END; test_id++){ printf(" %d) %s\n", test_id, test_name[test_id]); } printf("Input (-1 to exit): "); int k; scanf("%d", &k); if(k < 0 || k >= END) return 0; test_id = k; switch(test_id){ case TEST_UTILITY: break; case TEST_VECTOR: { int *v1, *v2, a, b; v1 = ctl_vector_init(&v1, sizeof(int), 5); v2 = ctl_vector_init(&v2, sizeof(int), 6); printVector("v1", v1); printVector("v2", v2); a = 3, ctl_vector_setSize(&v1, a); printf("let count of v1 = %d\n", a); a = 0, b = 2; v1[a] = b; printf("let v1[%d] = %d\n", a, b); a = 1, b = 3; v1[a] = b; printf("let v1[%d] = %d\n", a, b); a = 2, b = 4; v1[a] = b; printf("let v1[%d] = %d\n", a, b); a = 8, ctl_vector_setSize(&v1, a); printf("let count of v1 = %d\n", a); a = 3, b = 5; v1[a] = b; printf("let v1[%d] = %d\n", a, b); a = 4, b = 6; v1[a] = b; printf("let v1[%d] = %d\n", a, b); a = 5, b = 9; v1[a] = b; printf("let v1[%d] = %d\n", a, b); a = 6, b = 2; v1[a] = b; printf("let v1[%d] = %d\n", a, b); a = 7, b = 1; v1[a] = b; printf("let v1[%d] = %d\n", a, b); a = 1, b = 8; v1[a] = b; printf("let v1[%d] = %d\n", a, b); ctl_vector_delBack(&v1); printf("delBack(&v1)\n"); ctl_vector_delBack(&v1); printf("delBack(&v1)\n"); a = 5, ctl_vector_addBack(&v1, &a); printf("addBack(&v1, %d)\n", a); a = 0, b = 0; v2[a] = b; printf("let v2[%d] = %d\n", a, b); a = 1, b = 1; v2[a] = b; printf("let v2[%d] = %d\n", a, b); a = 2, b = 2; v2[a] = b; printf("let v2[%d] = %d\n", a, b); a = 3, b = 3; v2[a] = b; printf("let v2[%d] = %d\n", a, b); a = 4, b = 4; v2[a] = b; printf("let v2[%d] = %d\n", a, b); a = 5, b = 5; v2[a] = b; printf("let v2[%d] = %d\n", a, b); printVector("v1", v1); printVector("v2", v2); ctl_vector_cat(&v2, &v1); printf("cat(&v2, &v1)\n"); printVector("v1", v1); printVector("v2", v2); ctl_vector_copy(&v2, &v1); printf("copy(&v2, &v1)\n"); printVector("v1", v1); printVector("v2", v2); ctl_vector_replace(&v1, 0, 0, &v2, 2, 3); printf("replace(&v1, 0, 0, &v2, 2, 3)\n"); printVector("v1", v1); ctl_vector_replace(&v1, 3, 0, &v2, 2, -3); printf("replace(&v1, 3, 0, &v2, 2, -3)\n"); printVector("v1", v1); ctl_vector_replace(&v1, 0, 10, &v2, 3, -1); printf("replace(&v1, 0, 10, &v2, 3, -1)\n"); printVector("v1", v1); } break; default: printf("Sorry, this part has not completed...\n"); } } return 0; }