static bool testElementSetIndex() { ASSERT_TRUE(spListElementGetIndex(NULL) == -1); ASSERT_TRUE(spListElementSetIndex(NULL,-1) ==SP_ELEMENT_INVALID_ARGUMENT); ASSERT_TRUE(spListElementSetIndex(NULL,1) ==SP_ELEMENT_INVALID_ARGUMENT); ASSERT_TRUE(spListElementSetIndex(NULL,-1) ==SP_ELEMENT_INVALID_ARGUMENT); SPListElement element = spListElementCreate(1, 0.0); ASSERT_TRUE( spListElementSetIndex(element, -1) == SP_ELEMENT_INVALID_ARGUMENT); ASSERT_TRUE(spListElementGetIndex(element) == 1); ASSERT_TRUE(spListElementSetIndex(element, 2) == SP_ELEMENT_SUCCESS); ASSERT_TRUE(spListElementGetIndex(element) == 2); spListElementDestroy(element); return true; }
static bool bpqGetMaxSizeTest() { SPBPQueue source = NULL; SPListElement e1; ASSERT_TRUE(-1 == spBPQueueGetMaxSize(source)); //check edge case // check that max size is always maxSize source = quickQ(0); ASSERT_TRUE(maxSize == spBPQueueGetMaxSize(source)); // insert a new element and check max size e1 = spListElementCreate(1, 1.0); spBPQueueEnqueue(source, e1); ASSERT_TRUE(maxSize == spBPQueueGetMaxSize(source)); // insert another element and check max size spListElementSetIndex(e1, 2); spListElementSetValue(e1, 2.0); spBPQueueEnqueue(source, e1); ASSERT_TRUE(maxSize == spBPQueueGetMaxSize(source)); // remove an element and check max size spBPQueueDequeue(source); ASSERT_TRUE(maxSize == spBPQueueGetMaxSize(source)); // free memory spBPQueueDestroy(source); spListElementDestroy(e1); return true; }
static bool testElementCopy() { ASSERT_TRUE(spListElementCopy(NULL) == NULL); SPListElement element = spListElementCreate(1, 0.0); SPListElement elementCopy = spListElementCopy(element); ASSERT_TRUE(elementCopy!=NULL); ASSERT_TRUE(spListElementCompare(element, elementCopy) == 0); ASSERT_TRUE(spListElementSetIndex(elementCopy, 2) == SP_ELEMENT_SUCCESS); ASSERT_TRUE(spListElementCompare(element, elementCopy) < 0); ASSERT_TRUE(spListElementGetIndex(elementCopy) == 2); ASSERT_TRUE(spListElementGetIndex(element) == 1); ASSERT_TRUE(spListElementSetValue(element, 1.0) == SP_ELEMENT_SUCCESS); ASSERT_TRUE(spListElementCompare(element, elementCopy) > 0); spListElementDestroy(element); spListElementDestroy(elementCopy); return true; }
static bool testListGetSize() { SPList list = quickList(0); ASSERT_TRUE(0 == spListGetSize(list)); SPListElement e1 = spListElementCreate(1, 1.0); spListInsertFirst(list, e1); ASSERT_TRUE(1 == spListGetSize(list)); spListElementSetIndex(e1, 2); spListElementSetValue(e1, 2.0); spListInsertFirst(list, e1); ASSERT_TRUE(2 == spListGetSize(list)); spListGetFirst(list); spListRemoveCurrent(list); ASSERT_TRUE(1 == spListGetSize(list)); spListDestroy(list); spListElementDestroy(e1); return true; }
static bool bpqGetSizeTest() { SPBPQueue source = NULL; SPListElement e1, e; ASSERT_TRUE(-1 == spBPQueueSize(source)); //check edge case source = quickQ(0); ASSERT_TRUE(0 == spBPQueueSize(source)); // insert a new element and check size e1 = spListElementCreate(1, 1.0); spBPQueueEnqueue(source, e1); ASSERT_TRUE(1 == spBPQueueSize(source)); // make sure that inserting same element twice works spListElementSetIndex(e1, 2); spListElementSetValue(e1, 2.0); spBPQueueEnqueue(source, e1); ASSERT_TRUE(2 == spBPQueueSize(source)); // remove an element and check size spBPQueueDequeue(source); ASSERT_TRUE(1 == spBPQueueSize(source)); // insert more then maxSize elements and check that size is always less then maxSize for (int i = 0; i < 2 * maxSize; i++) { ASSERT_TRUE(spBPQueueSize(source) <= maxSize); e = spListElementCreate(i, 1.0); spBPQueueEnqueue(source, e); spListElementDestroy(e); } // free memory spBPQueueDestroy(source); spListElementDestroy(e1); return true; }