);
final AtomicReader aReader = SlowCompositeReaderWrapper.wrap(reader);
final DocsEnum docsEnum = aReader.termDocsEnum(new Term(DEFAULT_TEST_FIELD, new BytesRef("aaa")));
assertTrue(docsEnum instanceof Siren10DocsEnum);
final Siren10DocsNodesAndPositionsEnum e = ((Siren10DocsEnum) docsEnum).getDocsNodesAndPositionsEnum();
assertEquals(-1, e.doc());
assertEquals(0, e.nodeFreqInDoc());
assertEquals(node(-1), e.node());
assertEquals(-1, e.pos());
assertTrue(e.nextDocument());
assertEquals(0, e.doc());
assertEquals(2, e.nodeFreqInDoc());
assertTrue(e.nextNode());
assertEquals(node(1), e.node());
assertEquals(1, e.termFreqInNode());
assertTrue(e.nextPosition());
assertEquals(0, e.pos());
assertFalse(e.nextPosition());
assertTrue(e.nextNode());
assertEquals(node(2), e.node());
assertEquals(1, e.termFreqInNode());
assertTrue(e.nextPosition());
assertEquals(0, e.pos());
assertFalse(e.nextPosition());
assertFalse(e.nextNode());
assertTrue(e.nextDocument());
assertEquals(2, e.doc());
assertEquals(1, e.nodeFreqInDoc());
assertTrue(e.nextNode());
assertEquals(node(5,3,6,3), e.node());
assertEquals(2, e.termFreqInNode());
assertTrue(e.nextPosition());
assertEquals(0, e.pos());
assertTrue(e.nextPosition());
assertEquals(1, e.pos());
assertFalse(e.nextPosition());
assertFalse(e.nextNode());
assertFalse(e.nextDocument());
}