static void test_stSortedSetIterator(CuTest* testCase) { sonLibSortedSetTestSetup(); int32_t i; for(i=0; i<size; i++) { stSortedSet_insert(sortedSet, stIntTuple_construct(1, input[i])); } stSortedSetIterator *iterator = stSortedSet_getIterator(sortedSet); CuAssertTrue(testCase, iterator != NULL); for(i=0; i<sortedSize; i++) { CuAssertIntEquals(testCase, sortedInput[i], stIntTuple_getPosition(stSortedSet_getNext(iterator), 0)); } CuAssertTrue(testCase, stSortedSet_getNext(iterator) == NULL); stSortedSetIterator *iterator2 = stSortedSet_copyIterator(iterator); CuAssertTrue(testCase, iterator2 != NULL); for(i=0; i<sortedSize; i++) { CuAssertIntEquals(testCase, sortedInput[sortedSize - 1 - i], stIntTuple_getPosition(stSortedSet_getPrevious(iterator), 0)); CuAssertIntEquals(testCase, sortedInput[sortedSize - 1 - i], stIntTuple_getPosition(stSortedSet_getPrevious(iterator2), 0)); } CuAssertTrue(testCase, stSortedSet_getPrevious(iterator) == NULL); CuAssertTrue(testCase, stSortedSet_getPrevious(iterator2) == NULL); stSortedSet_destructIterator(iterator); stSortedSet_destructIterator(iterator2); sonLibSortedSetTestTeardown(); }
Block_InstanceIterator *block_copyInstanceIterator(Block_InstanceIterator *iterator) { Block_InstanceIterator *iterator2; iterator2 = st_malloc(sizeof(struct _block_instanceIterator)); iterator2->block = iterator->block; iterator2->iterator = stSortedSet_copyIterator(iterator->iterator); return iterator2; }
EventTree_Iterator *eventTree_copyIterator(EventTree_Iterator *iterator) { return stSortedSet_copyIterator(iterator); }
Flower_FaceIterator *flower_copyFaceIterator(Flower_FaceIterator *faceIterator) { return stSortedSet_copyIterator(faceIterator); }
Flower_ChainIterator *flower_copyChainIterator(Flower_ChainIterator *chainIterator) { return stSortedSet_copyIterator(chainIterator); }
Flower_GroupIterator *flower_copyGroupIterator(Flower_GroupIterator *groupIterator) { return stSortedSet_copyIterator(groupIterator); }
Flower_BlockIterator *flower_copyBlockIterator(Flower_BlockIterator *blockIterator) { return stSortedSet_copyIterator(blockIterator); }
Flower_SegmentIterator *flower_copySegmentIterator(Flower_SegmentIterator *segmentIterator) { return stSortedSet_copyIterator(segmentIterator); }
Flower_EndIterator *flower_copyEndIterator(Flower_EndIterator *endIterator) { return stSortedSet_copyIterator(endIterator); }
Flower_CapIterator *flower_copyCapIterator(Flower_CapIterator *capIterator) { return stSortedSet_copyIterator(capIterator); }
Flower_SequenceIterator *flower_copySequenceIterator(Flower_SequenceIterator *sequenceIterator) { return stSortedSet_copyIterator(sequenceIterator); }