/** * Tests a <code>BoundedReader</code> operating in bounded mode. * * @throws IOException should not happen */ @Test public void testBoundedReaderWithoutException() throws IOException { BoundedReader br = new BoundedReader(new CharArrayReader(TEST_CHARACTERS), 4); prepareBoundedReader(br); assert -1 == br.read(); assert -1 == br.read(new char[1]); assert -1 == br.read(new char[1], 0, 1); assert -1 == br.skip(1); assert 4 == br.getReadCounter(); assert 0 == br.getRemainingCharacters(); assert 4 == br.getAllowedCharacters(); // Attempt to read a chunk larger than the remaining characters and assert that it does not return -1 br = new BoundedReader(new CharArrayReader(TEST_CHARACTERS), 4); assert br.read(new char[6])!=-1; }
BoundedReader br = new BoundedReader(new CharArrayReader(TEST_CHARACTERS), 4, new StreamOutOfBoundException(4)); prepareBoundedReader(br); br = new BoundedReader(new CharArrayReader(TEST_CHARACTERS), 4); assert br.read(new char[6])!=-1;
BoundedReader br = new BoundedReader(new CharArrayReader(TEST_CHARACTERS), -1); assert 0 == br.getReadCounter(); assert Long.MAX_VALUE == br.getRemainingCharacters();