void test_listAddTail_0x500_given_list_contains_0x100_0x200_0x300() { LinkedList list ; ListElement listElement1 ; ListElement listElement2; ListElement listElement3; ListElement listElement4; initLinkedList(&list); listElementCreate(&listElement1,0x100); listElementCreate(&listElement2,0x200); listElementCreate(&listElement3,0x300); listElementCreate(&listElement4,0x500); listAddHead(&list,&listElement3); listAddHead(&list,&listElement2); listAddHead(&list,&listElement1); TEST_ASSERT_EQUAL(&listElement1,list.head); TEST_ASSERT_EQUAL(&listElement3,list.tail); TEST_ASSERT_EQUAL(0x100,list.head->data); TEST_ASSERT_EQUAL(0x200,(list.head)->next->data); TEST_ASSERT_EQUAL(0x300,(list.head)->next->next->data); listAddTail(&list,&listElement4); TEST_ASSERT_EQUAL(&listElement4,list.tail); TEST_ASSERT_EQUAL(0x500,list.tail->data); TEST_ASSERT_EQUAL(NULL,list.tail->next); }
HETIMERELEM etimerAdd(HETIMER timer, ETimerHandler callback, void *param, UINT32 timeOut) { etimerStruct *tm = (etimerStruct *)timer; etimerNode node; int loc; if (!timer) return (HETIMERELEM)RVERROR; /* NULL function */ memset(&node, 0, sizeof(node)); node.callback = callback; node.param = param; node.interval = timeOut; node.absTime = timerGetTimeInMilliseconds() + timeOut; /* if ( (loc = listFind(tm->timer, listHead(tm->timer), (void *)&node)) >=0) etimerDelete(timer, (HETIMERELEM)loc);*/ if (( loc = listAddHead(tm->timer, (void *)&node) ) < 0) return (HETIMERELEM)RVERROR; if( bheapInsert(tm->heap, (BHeapNode)(loc)) == RVERROR ) return (HETIMERELEM)RVERROR; return ((HETIMERELEM)loc); }
void test_listAddHead_0x200_given_head_contain_0x100() { LinkedList list ; ListElement listElement1 ; ListElement listElement2; initLinkedList(&list); listElementCreate(&listElement1,0x100); listElementCreate(&listElement2,0x200); listAddHead(&list,&listElement1); listAddHead(&list,&listElement2); TEST_ASSERT_EQUAL(&listElement2,list.head); TEST_ASSERT_EQUAL(&listElement1,list.tail); TEST_ASSERT_EQUAL(0x200,list.head->data); TEST_ASSERT_EQUAL(&listElement1,list.head->next); }
/* *Function : mlistAddList *Description: add empty list to mlist *Parameters : hlist - mlist handle * list - list number to get 'next' element *Return : location of the new list in mlist */ int mlistAddList(HLIST hlist) { mListDesc newList; newList.tail = RVERROR; newList.count = 0; /*h.e unused!!! newList.changed = 0; */ newList.align = 0; return listAddHead(hlist, &newList); }
void test_travel_1step_beforeTarget_given_3_element_list_target_Tail_should_return_list_1() { LinkedList *list0 = listCreate(0x100); LinkedList *list1 = listCreate(0x200); LinkedList *list2 = listCreate(0x300); LinkedList *Head,*Tail, *Target ; listAddHead(&Head,list0); setTail(&Tail,list0); listAddTail(&Tail,list1); listAddTail(&Tail,list2); Target = travel_1step_beforeTarget(Head,Tail); TEST_ASSERT_EQUAL(list1,Target); }
void test_travel_1step_beforeTarget_given_not_found_should_return_NULL() { LinkedList *list0 = listCreate(0x100); LinkedList *list1 = listCreate(0x200); LinkedList *list2 = listCreate(0x300); LinkedList *list3 = listCreate(0x400); LinkedList *Head,*Tail, *Target ; listAddHead(&Head,list0); setTail(&Tail,Head); listAddTail(&Tail,list1); listAddTail(&Tail,list2); Target = travel_1step_beforeTarget(Head,list3); TEST_ASSERT_NULL(Target); DestroyAllList(&Head,&Tail); }
void test_searchListForData_given_0x400_should_return_NULL_for_not_found() { LinkedList *list0 = listCreate(0x100); LinkedList *list1 = listCreate(0x200); LinkedList *list2 = listCreate(0x300); LinkedList *Head,*Tail, *Found ; listAddHead(&Head,list0); setTail(&Tail,Head); listAddTail(&Tail,list1); listAddTail(&Tail,list2); Found = searchListForData(Head,0x400); TEST_ASSERT_NULL(Found); DestroyAllList(&Head,&Tail); }
void test_listAddHead_given_emptyList() { LinkedList list ; ListElement listElement ; initLinkedList(&list); listElementCreate(&listElement,0x100); listAddHead(&list,&listElement); TEST_ASSERT_EQUAL(&listElement,list.head); TEST_ASSERT_EQUAL(&listElement,list.tail); TEST_ASSERT_EQUAL(0x100,list.head->data); TEST_ASSERT_EQUAL(NULL,list.head->next); TEST_ASSERT_EQUAL(0x100,list.tail->data); TEST_ASSERT_EQUAL(NULL,list.tail->next); }
void test_searchListForData_given_0x300_should_return_list2() { LinkedList *list0 = listCreate(0x100); LinkedList *list1 = listCreate(0x200); LinkedList *list2 = listCreate(0x300); LinkedList *Head,*Tail, *Found ; listAddHead(&Head,list0); setTail(&Tail,Head); listAddTail(&Tail,list1); listAddTail(&Tail,list2); Found = searchListForData(Head,0x300); TEST_ASSERT_EQUAL(list2,Found); TEST_ASSERT_EQUAL(0x300,Found->data); DestroyAllList(&Head,&Tail); }