void testGroup_getLink(CuTest *testCase) { cactusGroupTestSetup(); CuAssertTrue(testCase, group_getLink(group2) == NULL); Chain *chain = setupChain(); CuAssertTrue(testCase, group_getLink(group2) == chain_getFirst(chain)); chain_destruct(chain); CuAssertTrue(testCase, group_getLink(group2) == NULL); cactusGroupTestTeardown(); }
void testGroup_isLink(CuTest *testCase) { cactusGroupTestSetup(); CuAssertTrue(testCase, !group_isLink(group2)); Chain *chain = setupChain(); CuAssertTrue(testCase, group_isLink(group2)); chain_destruct(chain); CuAssertTrue(testCase, !group_isLink(group2)); cactusGroupTestTeardown(); }
void flower_destruct(Flower *flower, int64_t recursive) { Flower_GroupIterator *iterator; Sequence *sequence; End *end; Block *block; Group *group; Chain *chain; Flower *nestedFlower; if (recursive) { iterator = flower_getGroupIterator(flower); while ((group = flower_getNextGroup(iterator)) != NULL) { nestedFlower = group_getNestedFlower(group); if (nestedFlower != NULL) { flower_destruct(nestedFlower, recursive); } } flower_destructGroupIterator(iterator); } cactusDisk_removeFlower(flower->cactusDisk, flower); flower_destructFaces(flower); stSortedSet_destruct(flower->faces); assert(flower_getEventTree(flower) != NULL); eventTree_destruct(flower_getEventTree(flower)); while ((sequence = flower_getFirstSequence(flower)) != NULL) { sequence_destruct(sequence); } stSortedSet_destruct(flower->sequences); while ((chain = flower_getFirstChain(flower)) != NULL) { chain_destruct(chain); } stSortedSet_destruct(flower->chains); while ((end = flower_getFirstEnd(flower)) != NULL) { end_destruct(end); } stSortedSet_destruct(flower->caps); stSortedSet_destruct(flower->ends); while ((block = flower_getFirstBlock(flower)) != NULL) { block_destruct(block); } stSortedSet_destruct(flower->segments); stSortedSet_destruct(flower->blocks); while ((group = flower_getFirstGroup(flower)) != NULL) { group_destruct(group); } stSortedSet_destruct(flower->groups); free(flower); }