void test_repositorySave() { Repository repo; repository_init(&repo, "repoTests.txt"); assert(_msize(repo.objects) == sizeof(Vector)); assert(vector_getLen(repo.objects) == 10); // Create object StoreObject* obj = malloc(sizeof(StoreObject)); Product* prod = malloc(sizeof(Product)); product_init(prod, "Chitara", "Conteaza", "MadeInChina"); storeObject_init(obj, 15, prod, 100, "azi", 200); // Add Object repository_AddObject(&repo, obj); repository_Save(&repo); repository_destroy(&repo); Repository repo2; repository_init(&repo2, "repoTests.txt"); assert(_msize(repo2.objects) == sizeof(Vector)); assert(vector_getLen(repo2.objects) == 11); repository_DeleteObjectByID(&repo2, 15); repository_Save(&repo2); repository_destroy(&repo2); }
void test_repositoryCreateDestroy() { Repository repo; repository_init(&repo, "repoTests.txt"); assert(_msize(repo.objects) == sizeof(Vector)); assert(vector_getLen(repo.objects) == 10); // Test 2 elements // #1 assert(storeObject_GetID(vector_getAt(repo.objects, 1)) == 2); assert(!strcmp(product_GetType(storeObject_GetProduct(vector_getAt(repo.objects, 1))), "Laptop")); assert(!strcmp(product_GetModel(storeObject_GetProduct(vector_getAt(repo.objects, 1))), "v3.2")); assert(!strcmp(product_GetManufacturer(storeObject_GetProduct(vector_getAt(repo.objects, 1))), "Lenovo")); assert(storeObject_GetPrice(vector_getAt(repo.objects, 1)) == 5200); assert(storeObject_GetQuantity(vector_getAt(repo.objects, 1)) == 69); // #2 assert(storeObject_GetID(vector_getAt(repo.objects, 9)) == 10); assert(!strcmp(product_GetType(storeObject_GetProduct(vector_getAt(repo.objects, 9))), "Laptop")); assert(!strcmp(product_GetModel(storeObject_GetProduct(vector_getAt(repo.objects, 9))), "v12.3")); assert(!strcmp(product_GetManufacturer(storeObject_GetProduct(vector_getAt(repo.objects, 9))), "HP")); assert(storeObject_GetPrice(vector_getAt(repo.objects, 9)) == 2200); assert(storeObject_GetQuantity(vector_getAt(repo.objects, 9)) == 69); repository_destroy(&repo); //assert(_msize(repo.objects) == -1); //assert(_msize(repo.fileName) == -1); }
void init () { g_type_init (); scm_c_eval_string ("(use-modules (gnome-2) (gnome gobject))"); repository_init (); types_init (); registered_type_init (); object_init (); function_init (); callable_init (); argument_init (); }
void run_app() { /* * Builder for the application */ Repository* repo = repository_init("Files/cheltuieli.txt"); Validator* valid = validator_init(); Controller* ctr = controller_init(repo, valid); Console* cons = console_init(ctr); console_run(cons); console_destroy(cons); controller_destroy(ctr); validator_destroy(valid); repository_destroy(repo); }
void test_repositoryAddObject() { Repository repo; repository_init(&repo, "repoTests.txt"); assert(_msize(repo.objects) == sizeof(Vector)); assert(vector_getLen(repo.objects) == 10); // Test 2 elements // #1 assert(storeObject_GetID(vector_getAt(repo.objects, 1)) == 2); assert(!strcmp(product_GetType(storeObject_GetProduct(vector_getAt(repo.objects, 1))), "Laptop")); assert(!strcmp(product_GetModel(storeObject_GetProduct(vector_getAt(repo.objects, 1))), "v3.2")); assert(!strcmp(product_GetManufacturer(storeObject_GetProduct(vector_getAt(repo.objects, 1))), "Lenovo")); assert(storeObject_GetPrice(vector_getAt(repo.objects, 1)) == 5200); assert(storeObject_GetQuantity(vector_getAt(repo.objects, 1)) == 69); // #2 assert(storeObject_GetID(vector_getAt(repo.objects, 9)) == 10); assert(!strcmp(product_GetType(storeObject_GetProduct(vector_getAt(repo.objects, 9))), "Laptop")); assert(!strcmp(product_GetModel(storeObject_GetProduct(vector_getAt(repo.objects, 9))), "v12.3")); assert(!strcmp(product_GetManufacturer(storeObject_GetProduct(vector_getAt(repo.objects, 9))), "HP")); assert(storeObject_GetPrice(vector_getAt(repo.objects, 9)) == 2200); assert(storeObject_GetQuantity(vector_getAt(repo.objects, 9)) == 69); // Create object StoreObject* obj = malloc(sizeof(StoreObject)); Product* prod = malloc(sizeof(Product)); product_init(prod, "Chitara", "Conteaza", "Made In China"); storeObject_init(obj, 15, prod, 100, "azi", 200); // Add Object repository_AddObject(&repo, obj); assert(vector_getLen(repo.objects) == 11); assert(!strcmp(product_GetType(storeObject_GetProduct(vector_getAt(repo.objects, 10))), "Chitara")); assert(!strcmp(product_GetModel(storeObject_GetProduct(vector_getAt(repo.objects, 10))), "Conteaza")); assert(!strcmp(product_GetManufacturer(storeObject_GetProduct(vector_getAt(repo.objects, 10))), "Made In China")); assert(storeObject_GetPrice(vector_getAt(repo.objects, 10)) == 100); assert(storeObject_GetQuantity(vector_getAt(repo.objects, 10)) == 200); repository_destroy(&repo); }
void test_repositoryFindByID() { Repository repo; repository_init(&repo, "repoTests.txt"); assert(_msize(repo.objects) == sizeof(Vector)); assert(vector_getLen(repo.objects) == 10); StoreObject* obj = repository_FindByID(&repo, 5); assert(storeObject_GetID(obj) == 5); assert(!strcmp(product_GetType(storeObject_GetProduct(obj)), "Laptop")); assert(!strcmp(product_GetModel(storeObject_GetProduct(obj)), "v2.2")); assert(!strcmp(product_GetManufacturer(storeObject_GetProduct(obj)), "Dell")); assert(storeObject_GetPrice(obj) == 7200); assert(storeObject_GetQuantity(obj) == 89); repository_destroy(&repo); }
void test_repositoryDeleteByID() { Repository repo; repository_init(&repo, "repoTests.txt"); assert(_msize(repo.objects) == sizeof(Vector)); assert(vector_getLen(repo.objects) == 10); StoreObject* obj6 = repository_FindByID(&repo, 6); int oldSize = repository_GetSize(&repo); // remove Obj5 and test if obj6 is in his place repository_DeleteObjectByID(&repo, 5); assert(repository_GetSize(&repo) == oldSize - 1); assert(vector_getAt(repo.objects, 4) == obj6); repository_destroy(&repo); }
int start(int is_daemon) { debug("[START]>>\n"); //Init... if(is_daemon) { init_deamon_process(); } int cpu_core_count = (int)sysconf(_SC_NPROCESSORS_CONF); debug("cpu_core_count = %d\n", cpu_core_count); Configuration * configurations = read_configuration_file("./main.ini", 10); const char * repo_root = (const char *)get_configuration(configurations, "repository.root"); debug("repo_root : %s\n", repo_root); REPOSITORY * repo = repository_init(repo_root); REPO_ITEM * item = repository_new_item(repo); debug("item : %s\n", item->uuid); FILE * fp_lidar_2368 = repository_open_write_file(item, "lidar.raw"); FILE * fp_lidar_8308 = repository_open_write_file(item, "sync.raw"); FILE * fp_ins = repository_open_write_file(item, "ins.bin"); debug("fp_lidar_2368 : %p\n", fp_lidar_2368); debug("fp_lidar_8308 : %p\n", fp_lidar_8308); debug("fp_ins : %p\n", fp_ins); //Start processing threads. // pthread_t main_thread_handler = pthread_self(); pthread_t xsens_thread_handler; pthread_t lidar_10110_thread_handler; pthread_t lidar_2368_thread_handler; pthread_t lidar_8308_thread_handler; XsensThreadData xsensThreadData; xsensThreadData.configurations = configurations; xsensThreadData.fp = fp_ins; LiDAR10110ThreadData lidar10110ThreadData; lidar10110ThreadData.configurations = configurations; pthread_create(&xsens_thread_handler, NULL, xsenThread, (void *)(&xsensThreadData)); bind_thread_cpu(xsens_thread_handler, cpu_core_count - 4); pthread_create(&lidar_10110_thread_handler, NULL, lidar10110Thread, (void *)&lidar10110ThreadData); bind_thread_cpu(lidar_10110_thread_handler, cpu_core_count - 1); pthread_create(&lidar_2368_thread_handler, NULL, lidar2368Thread, (void *)fp_lidar_2368); bind_thread_cpu(lidar_2368_thread_handler, cpu_core_count - 2); pthread_create(&lidar_8308_thread_handler, NULL, lidar8308Thread, (void *)fp_lidar_8308); bind_thread_cpu(lidar_8308_thread_handler, cpu_core_count - 3); debug("Waiting for any key...\n"); if(!is_daemon) { fputs("Press any key...", stdout); fgetc(stdin); done = 1; debug("Key has been pressed.\n"); debug("Start to dispose...\n"); } else { signal(SIGQUIT, daemon_exit_handler); } pthread_join(lidar_2368_thread_handler, (void *)NULL); pthread_join(lidar_8308_thread_handler, (void *)NULL); pthread_join(xsens_thread_handler, (void *)NULL); pthread_join(lidar_10110_thread_handler, (void *)NULL); //Dispose... fclose(fp_lidar_8308); fclose(fp_lidar_2368); fclose(fp_ins); repository_close_item(item); repository_dispose(repo); dispose_configuration(configurations); pthread_exit(NULL); debug("[START]<<\n"); return 0; }