void test_many_list_SearchId(void) { int id; id = 136645; list_Insert (&l, "Stud 1", id); id = 346356; list_Insert (&l, "Stud 2", id); id = 758476; list_Insert (&l, "Stud 3", id); id = 245653; list_Insert (&l, "Stud 4", id); id = 567468; list_Insert (&l, "Stud 5", id); CU_ASSERT_EQUAL(list_SearchId(l, 758476)->id, 758476); CU_ASSERT_NOT_EQUAL(list_SearchId(l, 245653)->id, 346356); free(l); l = NULL; }
void test_one_list_SearchId(void) { int id = 354543; list_Insert (&l, "Stud", id); CU_ASSERT_EQUAL(list_SearchId(l, 354543)->id, 354543); CU_ASSERT_NOT_EQUAL(list_SearchId(l, 354543)->id, 346356); free(l); l = NULL; }
int main (void) { #ifdef CUNIT_TEST CU_pSuite Suite1 = NULL; CU_pTest Test1,Test2,Test3 = NULL; if (CUE_NOMEMORY == CU_initialize_registry()) { printf("\n Initialisierung der Test Registry fehlgeschlagen."); return -1; } Suite1 = CU_add_suite("list_searchId",NULL,NULL); Test1 = CU_add_test(Suite1,"Teste Funktion list_SearchId wenn Liste leer", test_empty_list_SearchId); Test2 = CU_add_test(Suite1,"Teste Funktion list_SearchId wenn ein Element in Liste", test_one_list_SearchId); Test3 = CU_add_test(Suite1,"Teste Funktion list_SearchId wenn mehrere Elemente in Liste", test_many_list_SearchId); CU_automated_run_tests(); CU_cleanup_registry(); #endif #ifdef USE_ORIGINAL int n; int i, id; Student * p; //assert(0); srand (time(NULL)); /* Zufallsgenerator initialisieren */ printf ("\nAnzahl der Elemente fuer die Liste: "); scanf ("%i", &n); /* Einfügen von Studenten in die Liste */ for (i = 0; i < n; i++) { id = rand()+1; list_Insert (&l, "Dummy, Yummy", id); } /* Testausgabe der Liste, bei groesserer Zahl auskommentieren */ list_Print (l, stdout); /* Testen der Suchfunktion, bei Messungen auskommentieren */ printf ("\nMatrikelnummer eingeben: "); scanf ("%i", &id); p = list_SearchId (l, id); if (!p) printf ("Matrikelnummer %i nicht gefunden!\n", id); else printf("%06d %s\n", p->id, p->name); /* Suchen von Studenten nach zufaelliger Matr. Nr. */ for (i = 0; i < 1000000; i++) { id = rand()+1; p = list_SearchId (l, id); } #endif #ifdef SPEED_TEST int i, c, lp, id; int num[16] = { 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536 }; int curTest = 0; const int requests = 500000; clock_t start; printf("SPEED-TEST - %i\n=============================", requests); for (c = 0; c < 16; c++) { printf("\n\n%i. %i Elemente\n-----------------------------\n\n", c+1, num[c]); for (i = 0; i < num[c]; i++) { id = rand()+1; list_Insert (&l, "Dummy, Yummy", id); } start = clock(); for (lp = 0; lp < requests; lp++) { id = rand()+1; list_SearchId (l, id); } printf("Dauer: %i\n", clock() - start); free(l); l = NULL; } #endif return 0; }
void list_Queue(list *l, void *obj) { list_Insert(l, 0, obj); }