OSDN Git Service

test: RandomAccessInputStream read() for last bytes
authorHiroshi Miura <miurahr@linux.com>
Mon, 28 Feb 2022 00:25:52 +0000 (09:25 +0900)
committerHiroshi Miura <miurahr@linux.com>
Mon, 28 Feb 2022 00:37:47 +0000 (09:37 +0900)
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
dictzip-lib/src/test/java/org/dict/zip/RandomAccessInputStreamTest.java

index db9dc94..2629d8c 100644 (file)
@@ -202,4 +202,31 @@ public class RandomAccessInputStreamTest {
         long result = instance.skip(n);
         assertEquals(result, expResult);
     }
+
+    @Test
+    public void testLastByte() throws Exception {
+        RandomAccessInputStream instance = new RandomAccessInputStream(dataFile, "r");
+        instance.seek(136854);
+        int c = instance.read();
+        assertEquals(5, c);
+        c = instance.read();
+        assertEquals(0, c);
+        c = instance.read();
+        assertEquals(-1, c);
+        long pos = instance.position();
+        assertEquals(136856, pos);
+    }
+
+    @Test
+    public void testLastBytes() throws Exception {
+        RandomAccessInputStream instance = new RandomAccessInputStream(dataFile, "r");
+        instance.seek(136848);
+        byte[] buf = new byte[9];
+        int len = instance.read(buf, 0, buf.length);
+        assertEquals(8, len);
+        assertEquals(5, buf[len - 2]);
+        assertEquals(0, buf[len - 1]);
+        long pos = instance.position();
+        assertEquals(136856, pos);
+    }
 }