@Test public void testBufferNoEvents() throws Exception { final XMLInputFactory xmlInputFactory = XMLInputFactory.newFactory(); final InputStream xmlStream = this.getClass().getResourceAsStream("document.xml"); final XMLEventReader xmlEventReader = xmlInputFactory.createXMLEventReader(xmlStream); final BufferedXMLEventReader reader = new BufferedXMLEventReader(xmlEventReader); int eventCount = 0; while (reader.hasNext()) { reader.nextEvent(); eventCount++; } assertEquals(122, eventCount); reader.reset(); while (reader.hasNext()) { reader.nextEvent(); eventCount++; } assertEquals(122, eventCount); }
@Test public void testBufferSomeEvents() throws Exception { final XMLInputFactory xmlInputFactory = XMLInputFactory.newFactory(); final InputStream xmlStream = this.getClass().getResourceAsStream("document.xml"); final XMLEventReader xmlEventReader = xmlInputFactory.createXMLEventReader(xmlStream); final BufferedXMLEventReader reader = new BufferedXMLEventReader(xmlEventReader, 10); int eventCount = 0; while (reader.hasNext()) { reader.nextEvent(); eventCount++; } assertEquals(122, eventCount); reader.reset(); while (reader.hasNext()) { reader.nextEvent(); eventCount++; } assertEquals(132, eventCount); } }
@Test public void testBufferAllEvents() throws Exception { final XMLInputFactory xmlInputFactory = XMLInputFactory.newFactory(); final InputStream xmlStream = this.getClass().getResourceAsStream("document.xml"); final XMLEventReader xmlEventReader = xmlInputFactory.createXMLEventReader(xmlStream); final BufferedXMLEventReader reader = new BufferedXMLEventReader(xmlEventReader, -1); final XMLEvent firstEvent = reader.peek(); int eventCount = 0; while (reader.hasNext()) { reader.nextEvent(); eventCount++; } assertEquals(122, eventCount); reader.reset(); final XMLEvent firstEventAgain = reader.peek(); assertEquals(firstEvent, firstEventAgain); while (reader.hasNext()) { reader.nextEvent(); eventCount++; } assertEquals(244, eventCount); }