示例#1
0
文件: queueTest.c 项目: mddubey/DSA
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);
}
示例#2
0
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);
}
示例#3
0
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));

}
示例#4
0
文件: dListTest.c 项目: mddubey/DSA
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);
}
示例#5
0
文件: queueTest.c 项目: mddubey/DSA
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);
}
示例#6
0
文件: stackTest.c 项目: kumarRaj/DSA
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);
}
示例#7
0
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);
}