void MappedSegmentMapUpTest::checkCallBack(AlignmentConstPtr alignment) { validateAlignment(alignment); const Genome* child1 = alignment->openGenome("child1"); const Genome* child2 = alignment->openGenome("child2"); TopSegmentIteratorConstPtr top = child2->getTopSegmentIterator(); testTopSegment(alignment, top, "parent"); top->slice(1,2); testTopSegment(alignment, top, "parent"); top->toReverse(); testTopSegment(alignment, top, "parent"); top = child1->getTopSegmentIterator(); testTopSegment(alignment, top, "parent"); top->slice(1,2); testTopSegment(alignment, top, "parent"); top->toReverse(); testTopSegment(alignment, top, "parent"); const Genome* g1 = alignment->openGenome("g1"); for (hal_size_t i = 0; i < g1->getNumTopSegments(); ++i) { top = g1->getTopSegmentIterator(i); testTopSegment(alignment, top, "parent"); top->slice(1,0); testTopSegment(alignment, top, "parent"); top->toReverse(); testTopSegment(alignment, top, "parent"); top->slice(0,1); testTopSegment(alignment, top, "parent"); top->toReverse(); testTopSegment(alignment, top, "parent"); } }
void MappedSegmentMapAcrossTest::checkCallBack(AlignmentConstPtr alignment) { validateAlignment(alignment); const Genome* child1 = alignment->openGenome("child1"); const Genome* child2 = alignment->openGenome("child2"); TopSegmentIteratorConstPtr top = child2->getTopSegmentIterator(); testTopSegment(alignment, top); top->slice(1,2); testTopSegment(alignment, top); top->toReverse(); testTopSegment(alignment, top); top = child1->getTopSegmentIterator(); testTopSegment(alignment, top); top->slice(1,2); testTopSegment(alignment, top); top->toReverse(); testTopSegment(alignment, top); }
void TopSegmentSimpleIteratorTest::checkCallBack(AlignmentConstPtr alignment) { const Genome* ancGenome = alignment->openGenome("Anc0"); CuAssertTrue(_testCase, ancGenome->getNumTopSegments() == _topSegments.size()); TopSegmentIteratorConstPtr tsIt = ancGenome->getTopSegmentIterator(0); for (size_t i = 0; i < ancGenome->getNumTopSegments(); ++i) { CuAssertTrue(_testCase, (size_t)tsIt->getTopSegment()->getArrayIndex() == i); _topSegments[i].compareTo(tsIt, _testCase); tsIt->toRight(); } tsIt = ancGenome->getTopSegmentIterator( ancGenome->getNumTopSegments() - 1); for (hal_index_t i = ancGenome->getNumTopSegments() - 1; i >= 0; --i) { CuAssertTrue(_testCase, tsIt->getTopSegment()->getArrayIndex() == i); _topSegments[i].compareTo(tsIt, _testCase); tsIt->toLeft(); } tsIt = ancGenome->getTopSegmentIterator(0); tsIt->slice(0, tsIt->getLength() - 1); for (hal_index_t i = 0; i < (hal_index_t)ancGenome->getSequenceLength(); ++i) { CuAssertTrue(_testCase, tsIt->getLength() == 1); CuAssertTrue(_testCase, tsIt->getStartPosition() == i); tsIt->toRight(tsIt->getStartPosition() + 1); } tsIt = ancGenome->getTopSegmentIterator( ancGenome->getNumTopSegments() - 1); tsIt->slice(tsIt->getLength() - 1, 0); for (hal_index_t i = ancGenome->getSequenceLength() - 1; i >= 0; --i) { CuAssertTrue(_testCase, tsIt->getLength() == 1); CuAssertTrue(_testCase, tsIt->getStartPosition() == i); tsIt->toLeft(tsIt->getStartPosition() - 1); } tsIt = ancGenome->getTopSegmentIterator(0); tsIt->toReverse(); CuAssertTrue(_testCase, tsIt->getReversed() == true); tsIt->slice(tsIt->getLength() - 1, 0); for (hal_index_t i = 0; i < (hal_index_t)ancGenome->getSequenceLength(); ++i) { CuAssertTrue(_testCase, tsIt->getLength() == 1); CuAssertTrue(_testCase, tsIt->getStartPosition() == i); tsIt->toLeft(tsIt->getStartPosition() + 1); } tsIt = ancGenome->getTopSegmentIterator( ancGenome->getNumTopSegments() - 1); tsIt->toReverse(); tsIt->slice(0, tsIt->getLength() - 1); for (hal_index_t i = ancGenome->getSequenceLength() - 1; i >= 0; --i) { CuAssertTrue(_testCase, tsIt->getLength() == 1); CuAssertTrue(_testCase, tsIt->getStartPosition() == i); tsIt->toRight(tsIt->getStartPosition() - 1); } }