void testEnd_setGroup(CuTest* testCase) { cactusEndTestSetup(); Flower *flower2 = flower_construct(cactusDisk); Group *group2 = group_construct2(flower2); End *end2 = end_construct(1, flower2); End *end3 = end_construct(1, flower2); CuAssertTrue(testCase, group_getEndNumber(group2) == 0); CuAssertTrue(testCase, end_getGroup(end2) == NULL); CuAssertTrue(testCase, end_getGroup(end3) == NULL); end_setGroup(end2, group2); CuAssertTrue(testCase, group_getEndNumber(group2) == 1); CuAssertTrue(testCase, end_getGroup(end2) == group2); CuAssertTrue(testCase, group_getEnd(group2, end_getName(end2)) == end2); CuAssertTrue(testCase, end_getGroup(end3) == NULL); end_setGroup(end3, group2); CuAssertTrue(testCase, group_getEndNumber(group2) == 2); CuAssertTrue(testCase, end_getGroup(end2) == group2); CuAssertTrue(testCase, group_getEnd(group2, end_getName(end2)) == end2); CuAssertTrue(testCase, end_getGroup(end3) == group2); CuAssertTrue(testCase, group_getEnd(group2, end_getName(end3)) == end3); end_setGroup(end3, NULL); end_setGroup(end2, group2); CuAssertTrue(testCase, group_getEndNumber(group2) == 1); CuAssertTrue(testCase, end_getGroup(end2) == group2); CuAssertTrue(testCase, group_getEnd(group2, end_getName(end2)) == end2); CuAssertTrue(testCase, end_getGroup(end3) == NULL); cactusEndTestTeardown(); }
void testFlower_getEndNumber(CuTest *testCase) { /* * Tests the different end number functions. */ cactusFlowerTestSetup(); CuAssertTrue(testCase, flower_getEndNumber(flower) == 0); CuAssertTrue(testCase, flower_getBlockEndNumber(flower) == 0); CuAssertTrue(testCase, flower_getStubEndNumber(flower) == 0); CuAssertTrue(testCase, flower_getFreeStubEndNumber(flower) == 0); CuAssertTrue(testCase, flower_getAttachedStubEndNumber(flower) == 0); int64_t blockNumber = 10; int64_t freeStubEndNumber = 5; int64_t attachedStubEndNumber = 3; int64_t i; for (i = 0; i < blockNumber; i++) { block_construct(1, flower); } for (i = 0; i < freeStubEndNumber; i++) { end_construct(0, flower); } for (i = 0; i < attachedStubEndNumber; i++) { end_construct(1, flower); } CuAssertTrue(testCase, flower_getEndNumber(flower) == blockNumber*2 + freeStubEndNumber + attachedStubEndNumber); CuAssertTrue(testCase, flower_getBlockEndNumber(flower) == blockNumber*2); CuAssertTrue(testCase, flower_getStubEndNumber(flower) == freeStubEndNumber + attachedStubEndNumber); CuAssertTrue(testCase, flower_getFreeStubEndNumber(flower) == freeStubEndNumber); CuAssertTrue(testCase, flower_getAttachedStubEndNumber(flower) == attachedStubEndNumber); cactusFlowerTestTeardown(); }
static void cactusGroupTestSetup() { cactusGroupTestTeardown(); cactusDisk = testCommon_getTemporaryCactusDisk(); flower = flower_construct(cactusDisk); nestedFlower = flower_construct(cactusDisk); end1 = end_construct2(0, 0, flower); end2 = end_construct(0, flower); end3 = end_construct(0, flower); nestedEnd1 = end_copyConstruct(end1, nestedFlower); nestedEnd2 = end_copyConstruct(end2, nestedFlower); group = group_construct(flower, nestedFlower); group2 = group_construct2(flower); end4 = end_construct(0, flower); }
void testCap_getTopCap(CuTest* testCase) { cactusCapTestSetup(); End *end1 = end_construct(0, flower); End *end2 = end_construct(0, flower); End *end3 = end_construct(0, flower); Event *intermediateEvent = event_construct4(NULL, 0.0, rootEvent, leafEvent, eventTree); Cap *cap1T = cap_construct(end1, rootEvent); Cap *cap1I = cap_construct(end1, intermediateEvent); Cap *cap1L1 = cap_construct(end1, leafEvent); Cap *cap1L2 = cap_construct(end1, leafEvent); cap_makeParentAndChild(cap1I, cap1L1); cap_makeParentAndChild(cap1I, cap1L2); cap_makeParentAndChild(cap1T, cap1I); end_setRootInstance(end1, cap1T); assert(end_getRootInstance(end1) == cap1T); CuAssertTrue(testCase, cap_getTopCap(cap1L1) == NULL); CuAssertTrue(testCase, cap_getTopCap(cap_getReverse(cap1L1)) == NULL); CuAssertTrue(testCase, cap_getTopCap(cap1L2) == NULL); CuAssertTrue(testCase, cap_getTopCap(cap1I) == NULL); Cap *cap2T = cap_construct(end2, rootEvent); Cap *cap2L = cap_construct(end2, leafEvent); cap_makeParentAndChild(cap2T, cap2L); end_setRootInstance(end2, cap2T); cap_makeAdjacent(cap1L1, cap2L); CuAssertTrue(testCase, cap_getTopCap(cap1L1) == cap1T); CuAssertTrue(testCase, cap_getTopCap(cap_getReverse(cap1L1)) == cap_getReverse(cap1T)); CuAssertTrue(testCase, cap_getTopCap(cap1I) == NULL); Cap *cap3T = cap_construct(end3, rootEvent); Cap *cap3I = cap_construct(end3, intermediateEvent); cap_makeParentAndChild(cap3T, cap3I); end_setRootInstance(end3, cap3T); cap_makeAdjacent(cap1I, cap3I); cap_makeAdjacent(cap1T, cap3T); CuAssertTrue(testCase, cap_getTopCap(cap1L1) == cap1I); CuAssertTrue(testCase, cap_getTopCap(cap_getReverse(cap1L1)) == cap_getReverse(cap1I)); CuAssertTrue(testCase, cap_getTopCap(cap1I) == cap1T); CuAssertTrue(testCase, cap_getTopCap(cap_getReverse(cap1I)) == cap_getReverse(cap1T)); CuAssertTrue(testCase, cap_getTopCap(cap1T) == NULL); cactusCapTestTeardown(); }
void testEnd_getInstanceNumber(CuTest* testCase) { cactusEndTestSetup(); End *end2 = end_construct(0, flower); CuAssertTrue(testCase, end_getInstanceNumber(end2) == 0); CuAssertTrue(testCase, end_getInstanceNumber(end) == 4); cactusEndTestTeardown(); }
void testCap_getBottomAndTopFaceEnd(CuTest* testCase) { cactusCapTestSetup(); End *end1 = end_construct(0, flower); Cap *cap1T = cap_construct(end1, rootEvent); Cap *cap1L = cap_construct(end1, leafEvent); cap_makeParentAndChild(cap1T, cap1L); end_setRootInstance(end1, cap1T); End *end2 = end_construct(0, flower); Cap *cap2T = cap_construct(end2, rootEvent); Cap *cap2L = cap_construct(end2, leafEvent); cap_makeParentAndChild(cap2T, cap2L); end_setRootInstance(end2, cap2T); CuAssertTrue(testCase, cap_getBottomFaceEnd(cap1T) == NULL); CuAssertTrue(testCase, cap_getBottomFaceEnd(cap1L) == NULL); CuAssertTrue(testCase, cap_getTopFaceEnd(cap1T) == NULL); CuAssertTrue(testCase, cap_getTopFaceEnd(cap1L) == NULL); cap_makeAdjacent(cap1L, cap2L); cap_makeAdjacent(cap1T, cap2T); //Now make the face Face *face = face_construct(flower); face_allocateSpace(face, 2); face_setTopNode(face, 0, cap1T); face_setTopNode(face, 1, cap2T); face_setBottomNodeNumber(face, 0, 1); face_setBottomNodeNumber(face, 1, 1); face_addBottomNode(face, 0, cap1L); face_addBottomNode(face, 1, cap2L); CuAssertTrue(testCase, cap_getTopFaceEnd(cap1L) == NULL); CuAssertTrue(testCase, cap_getTopFaceEnd(cap2L) == NULL); FaceEnd *faceEnd1 = cap_getTopFaceEnd(cap1T); FaceEnd *faceEnd2 = cap_getTopFaceEnd(cap2T); CuAssertTrue(testCase, faceEnd_getTopNode(faceEnd1) == cap1T); CuAssertTrue(testCase, faceEnd_getTopNode(faceEnd2) == cap2T); CuAssertTrue(testCase, cap_getBottomFaceEnd(cap1T) == NULL); CuAssertTrue(testCase, cap_getBottomFaceEnd(cap2T) == NULL); CuAssertTrue(testCase, cap_getBottomFaceEnd(cap1L) == faceEnd1); CuAssertTrue(testCase, cap_getBottomFaceEnd(cap2L) == faceEnd2); cactusCapTestTeardown(); }
void testEnd_isAttachedOrFree(CuTest* testCase) { cactusEndTestSetup(); End *end2 = end_construct(1, flower); End *end3 = end_construct(0, flower); Block *block = block_construct(2, flower); End *end4 = block_get5End(block); End *end5 = block_get3End(block); CuAssertTrue(testCase, end_isAttached(end2)); CuAssertTrue(testCase, !end_isAttached(end3)); CuAssertTrue(testCase, !end_isFree(end2)); CuAssertTrue(testCase, end_isFree(end3)); CuAssertTrue(testCase, !end_isAttached(end4)); CuAssertTrue(testCase, !end_isAttached(end5)); CuAssertTrue(testCase, end_isFree(end4)); CuAssertTrue(testCase, end_isFree(end5)); cactusEndTestTeardown(); }
void testEnd_getSetRootInstance(CuTest* testCase) { cactusEndTestSetup(); CuAssertTrue(testCase, end_getRootInstance(end) == cap_getReverse(rootCap)); CuAssertTrue(testCase, end_getRootInstance(end_getReverse(end)) == rootCap); End *end2 = end_construct(0, flower); CuAssertTrue(testCase, end_getRootInstance(end2) == NULL); CuAssertTrue(testCase, end_getRootInstance(end_getReverse(end2)) == NULL); cactusEndTestTeardown(); }
void testFlower_isTerminal(CuTest *testCase) { cactusFlowerTestSetup(); CuAssertTrue(testCase, flower_isTerminal(flower)); group_construct2(flower); CuAssertTrue(testCase, flower_isTerminal(flower)); end_construct(0, flower); CuAssertTrue(testCase, flower_isTerminal(flower)); block_construct(1, flower); CuAssertTrue(testCase, !flower_isTerminal(flower)); cactusFlowerTestTeardown(); }
void testGroup_getAttachedStubAndBlockEndNumber(CuTest* testCase) { cactusGroupTestSetup(); CuAssertTrue(testCase, group_getAttachedStubEndNumber(group) == 0); CuAssertTrue(testCase, group_getBlockEndNumber(group) == 0); CuAssertIntEquals(testCase, 2, group_getStubEndNumber(group)); CuAssertIntEquals(testCase, 2, group_getFreeStubEndNumber(group)); end_setGroup(end_construct(1, flower), group); end_setGroup(end_construct(0, flower), group); end_setGroup(end_construct(1, flower), group); CuAssertTrue(testCase, group_getAttachedStubEndNumber(group) == 2); CuAssertTrue(testCase, group_getBlockEndNumber(group) == 0); CuAssertTrue(testCase, group_getStubEndNumber(group) == 5); CuAssertTrue(testCase, group_getFreeStubEndNumber(group) == 3); Block *block = block_construct(1, flower); end_setGroup(block_get5End(block), group); end_setGroup(block_get3End(block), group); CuAssertTrue(testCase, group_getAttachedStubEndNumber(group) == 2); CuAssertTrue(testCase, group_getBlockEndNumber(group) == 2); CuAssertTrue(testCase, group_getStubEndNumber(group) == 5); CuAssertTrue(testCase, group_getFreeStubEndNumber(group) == 3); cactusGroupTestTeardown(); }
static void endsSetup() { end = end_construct(1, flower); end2 = end_construct(1, flower); }