MetaSequence *metaSequence_construct3(int64_t start, int64_t length, const char *string, const char *header, Name eventName, bool isTrivialSequence, CactusDisk *cactusDisk) { Name name; assert(strlen(string) == length); name = cactusDisk_addString(cactusDisk, string); return metaSequence_construct2(cactusDisk_getUniqueID(cactusDisk), start, length, name, header, eventName, isTrivialSequence, cactusDisk); }
void testCactusDisk_getUniqueID(CuTest* testCase) { cactusDiskTestSetup(); for (int64_t i = 0; i < 1000000; i++) { //Gets a billion ids, checks we are good. Name uniqueName = cactusDisk_getUniqueID(cactusDisk); CuAssertTrue(testCase, uniqueName > 0); CuAssertTrue(testCase, uniqueName < INT64_MAX); CuAssertTrue(testCase, uniqueName != NULL_NAME); } cactusDiskTestTeardown(); }
void testCactusDisk_getUniqueID_Unique(CuTest* testCase) { cactusDiskTestSetup(); stSortedSet *uniqueNames = stSortedSet_construct3(testCactusDisk_getUniqueID_UniqueP, free); for (int64_t i = 0; i < 100000; i++) { //Gets a billion ids, checks we are good. Name uniqueName = cactusDisk_getUniqueID(cactusDisk); CuAssertTrue(testCase, uniqueName > 0); CuAssertTrue(testCase, uniqueName < INT64_MAX); CuAssertTrue(testCase, uniqueName != NULL_NAME); char *cA = cactusMisc_nameToString(uniqueName); CuAssertTrue(testCase, stSortedSet_search(uniqueNames, cA) == NULL); CuAssertTrue(testCase, cactusMisc_stringToName(cA) == uniqueName); stSortedSet_insert(uniqueNames, cA); } stSortedSet_destruct(uniqueNames); cactusDiskTestTeardown(); }
Block *block_construct(int64_t length, Flower *flower) { return block_construct2(cactusDisk_getUniqueID(flower_getCactusDisk(flower)), length, end_construct3(cactusDisk_getUniqueID(flower_getCactusDisk(flower)), 0, 0, 1, flower), end_construct3(cactusDisk_getUniqueID(flower_getCactusDisk(flower)), 0, 0, 0, flower), flower); }
EventTree *eventTree_construct2(CactusDisk *cactusDisk) { return eventTree_construct(cactusDisk, cactusDisk_getUniqueID(cactusDisk)); }
Flower *flower_construct(CactusDisk *cactusDisk) { return flower_construct2(cactusDisk_getUniqueID(cactusDisk), cactusDisk); }
Event *event_construct4(const char *header, float branchLength, Event *parentEvent, Event *childEvent, EventTree *eventTree) { return event_construct2(cactusDisk_getUniqueID(flower_getCactusDisk( eventTree_getFlower(eventTree))), header, branchLength, parentEvent, childEvent, eventTree); }