void test_14_deletes_a_structure_from_a_queue(){ Account* accounts = malloc(sizeof(Account)*2); Account* result; accounts[0].accNo = 100;accounts[0].balance = 1000; accounts[1].accNo = 101;accounts[1].balance = 2000; queue = create(2); enqueue(queue, &accounts[0]); enqueue(queue, &accounts[1]); ASSERT(areAccountsEqual(accounts[0], **(Account**)getElement(queue, 0))); ASSERT(areAccountsEqual(accounts[1], **(Account**)getElement(queue, 1))); ASSERT(1==queue->info.rear); result = dequeue(queue); ASSERT(areAccountsEqual(accounts[1], **(Account**)getElement(queue, 0))); ASSERT(0==queue->info.rear); free(accounts); }
void test_inserts_the_structures_in_the_linklist(){ Account* accounts = malloc(sizeof(Account)*3); list = create(); accounts[0].accNo = 100;accounts[0].balance = 1000; accounts[1].accNo = 101;accounts[1].balance = 2000; accounts[2].accNo = 102;accounts[2].balance = 4000; insert(list, 0,&accounts[0]); ASSERT(areAccountsEqual(accounts[0], *(Account*)list->head->data)); ASSERT(1 == list->length); insert(list, 1, &accounts[1]); ASSERT(areAccountsEqual(accounts[1], *(Account*)list->head->next->data)); ASSERT(2 == list->length); insert(list, 1, &accounts[2]); ASSERT(areAccountsEqual(accounts[1], *(Account*)list->head->next->data)); ASSERT(3 == list->length); }
void test_sorting_accounts_by_balance() { Account expected[] = {{40, 3},{12, 10},{100, 100},{33, 10000} }; Account accounts[] = {{100, 100}, {12, 10}, {33, 10000}, {40, 3}}; isort(accounts, 4, sizeof(Account), compareAccountsByBalance); ASSERT(1 == areAccountsEqual(expected, accounts)); }
void test_inserts_the_structures_in_the_linklist(){ Account accounts[3] = {{100,1000},{101,2000},{102,4000}}; ASSERT(insert(&list, 0, &accounts[0])); ASSERT(insert(&list, 1, &accounts[1])); ASSERT(insert(&list, 1, &accounts[2])); ASSERT(areAccountsEqual(accounts[0], *(Account*)getNodeData(list, 0))); ASSERT(3 == list.length); }
void test_10_inserts_an_element_in_queue_at_rear_end_Structure(){ Account* account = malloc(sizeof(Account)); Account expected = {100,5000}; account->accNo = 100;account->balance=5000; queue = create(1); enqueue(queue,account); ASSERT(areAccountsEqual(expected, **(Account**)getElement(queue, 0))); free(account); }
void test_removes_structures_on_the_top_of_stacks(){ Account account = {100,1000}; Account* result; stack = create(3); push(stack, &account); ASSERT(&account == *getElement(stack, 0)); result = pop(stack); ASSERT(areAccountsEqual(*result, account)); ASSERT(0 == stack->top && 3 == stack->length); }
void test_20_inserts_the_element_at_the_starting_of_queue_if_rear_is_end_of_queue(){ Account* accounts = malloc(sizeof(Account)*2); Account expected = {101,2000}; accounts[0].accNo = 100;accounts[0].balance = 1000; accounts[1].accNo = 101;accounts[1].balance = 2000; queue = create(3); ASSERT(-1 == queue->info.front && -1 == queue->info.rear); enqueue(queue,&accounts[0]); enqueue(queue,&accounts[1]); enqueue(queue,&accounts[0]); ASSERT(0 == queue->info.front && 2 == queue->info.rear); dequeue(queue); enqueue(queue,&accounts[1]); ASSERT(1 == queue->info.front && 0 == queue->info.rear); ASSERT(areAccountsEqual(expected, **(Account**)getElement(queue, 0))); free(accounts); }