void testGroup_constructChainForLink(CuTest *testCase) { cactusGroupTestSetup(); //Create a link group and test function works! Group *group3 = group_construct2(flower); End *_5End = end_construct2(1, 1, flower); End *_3End = end_construct2(0, 1, flower); End *stubEnd = end_construct2(1, 0, flower); end_setGroup(_5End, group3); end_setGroup(_3End, group3); end_setGroup(stubEnd, group3); CuAssertTrue(testCase, group_isTangle(group3)); CuAssertTrue(testCase, group_getEndNumber(group3) == 3); group_constructChainForLink(group3); CuAssertTrue(testCase, group_isLink(group3)); Link *link = group_getLink(group3); CuAssertTrue(testCase, link_get5End(link) == _5End); CuAssertTrue(testCase, link_get3End(link) == _3End); cactusGroupTestTeardown(); }
void processSequence(const char *fastaHeader, const char *string, int64_t length) { /* * Processes a sequence by adding it to the flower disk. */ End *end1; End *end2; Cap *cap1; Cap *cap2; MetaSequence *metaSequence; Sequence *sequence; //Now put the details in a flower. metaSequence = metaSequence_construct(2, length, string, fastaHeader, event_getName(event), cactusDisk); sequence = sequence_construct(metaSequence, flower); end1 = end_construct2(0, isComplete, flower); end2 = end_construct2(1, isComplete, flower); cap1 = cap_construct2(end1, 1, 1, sequence); cap2 = cap_construct2(end2, length + 2, 1, sequence); cap_makeAdjacent(cap1, cap2); totalSequenceNumber++; }
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); }