Beispiel #1
0
void spListDestroy(SPList list) {
	if (list == NULL) {
		return;
	}
	spListClear(list);
	destroyNode(list->head);
	destroyNode(list->tail);
	free(list);
}
void spBPQueueClear(SPBPQueue source) {
	if (source != NULL && source->queue != NULL) {
		spListClear(source->queue);
		if (source->maxElement) {
			spListElementDestroy(source->maxElement);
			source->maxElement = NULL;
		}
	}
}
static bool testListClear() {
	SPListElement e1 = spListElementCreate(1, 1.0);
	SPListElement e2 = spListElementCreate(2, 2.0);
	SPListElement e3 = spListElementCreate(3, 3.0);
	SPListElement e4 = spListElementCreate(4, 4.0);
	SPList list2 = quickList(4, e1, e2, e3, e4);
	ASSERT_TRUE(spListClear(list2) == SP_LIST_SUCCESS);
	ASSERT_TRUE(0 == spListGetSize(list2));
	SPList list = spListCreate();
	spListClear(list);
	ASSERT_TRUE(0 == spListGetSize(list));
	spListDestroy(list);
	spListDestroy(list2);
	spListElementDestroy(e1);
	spListElementDestroy(e2);
	spListElementDestroy(e3);
	spListElementDestroy(e4);
	return true;
}
	}
	ASSERT_TRUE(spListInsertFirst(list,e1) == SP_LIST_SUCCESS);
	i=0;
	SP_LIST_FOREACH(SPListElement,e,list){
		ASSERT_TRUE(spListElementCompare(e,arr[i]) == 0);
		i++;
	}
	ASSERT_TRUE(i==4);//number of elements = 4
	ASSERT_TRUE(spListInsertLast(list,e5) == SP_LIST_SUCCESS);
	i=0;
	SP_LIST_FOREACH(SPListElement,e,list){
		ASSERT_TRUE(spListElementCompare(e,arr[i]) ==  0);
		i++;
	}
	ASSERT_TRUE(i==5);//number of elements should be 5
	ASSERT_TRUE(spListClear(list) == SP_LIST_SUCCESS);
	SP_LIST_FOREACH(SPListElement,e,list){
		ASSERT_TRUE(false);//Should not enter this loop because list is empty
	}
	spListDestroy(list);
	spListElementDestroy(e1);
	spListElementDestroy(e2);
	spListElementDestroy(e3);
	spListElementDestroy(e4);
	spListElementDestroy(e5);
	return true;
}
int main() {
	RUN_TEST(testElementCreate);
	RUN_TEST(testElementCopy);
	RUN_TEST(testElementCompare);
void spBPQueueClear(SPBPQueue source) {
	if (source == NULL) {
		return;
	}
	spListClear(source->innerList);
}
Beispiel #6
0
void spBPQueueClear(SPBPQueue source){
	assert(source);
	spListClear(source->list);
}