//-------------PRINT MEDICATION---------------- void toString(Repo* self){ int len = vector_getLen(self->arr); for (int i=0; i<len; i++){ Medication m = vector_getAt(self->arr, i); printf("Name: %s | Concentration: %.2f | Quantity: %d | Price: %.2f \n", get_name(&m), get_concentration(&m), get_quantity(&m), get_price(&m) ); } }
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); }
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_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); }