01: package org.columba.core.io;
02:
03: import java.io.ByteArrayInputStream;
04: import java.io.IOException;
05:
06: import junit.framework.TestCase;
07:
08: public class SteerableInputStreamTest extends TestCase {
09:
10: public void test() throws IOException {
11: byte[] test = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
12: byte[] dummy = new byte[5];
13:
14: SteerableInputStream in = new SteerableInputStream(
15: new ByteArrayInputStream(test));
16:
17: assertEquals(test.length, in.getLengthLeft());
18: assertEquals(0, in.getPosition());
19:
20: in.setLengthLeft(3);
21: in.setPosition(2);
22: assertEquals(1, in.getLengthLeft());
23: assertEquals(2, in.getPosition());
24:
25: assertEquals(2, in.read());
26: assertEquals(0, in.getLengthLeft());
27: assertEquals(-1, in.read());
28: assertEquals(0, in.read(dummy));
29:
30: in.setLengthLeft(100);
31: assertEquals(test.length - in.getPosition(), in.getLengthLeft());
32: assertEquals(3, in.read());
33:
34: assertEquals(3, in.read(dummy, 2, 3));
35: assertEquals(4, dummy[2]);
36: assertEquals(6, dummy[4]);
37:
38: assertEquals(4, in.read(dummy));
39: assertEquals(10, dummy[3]);
40:
41: }
42:
43: }
|