1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.io.input;
18
19 import static org.apache.commons.io.IOUtils.EOF;
20 import static org.junit.jupiter.api.Assertions.assertEquals;
21
22 import org.junit.jupiter.api.Test;
23
24
25
26
27 public class ClosedInputStreamTest {
28
29 private void assertEof(final ClosedInputStream cis) {
30 assertEquals(EOF, cis.read(), "read()");
31 }
32
33 @Test
34 public void testRead() throws Exception {
35 try (ClosedInputStream cis = new ClosedInputStream()) {
36 assertEof(cis);
37 }
38 }
39
40 @Test
41 public void testReadArray() throws Exception {
42 try (ClosedInputStream cis = new ClosedInputStream()) {
43 assertEquals(EOF, cis.read(new byte[4096]));
44 assertEquals(EOF, cis.read(new byte[1]));
45 assertEquals(EOF, cis.read(new byte[0]));
46 }
47 }
48
49 @Test
50 public void testReadArrayIndex() throws Exception {
51 try (ClosedInputStream cis = new ClosedInputStream()) {
52 assertEquals(EOF, cis.read(new byte[4096], 0, 1));
53 assertEquals(EOF, cis.read(new byte[1], 0, 1));
54 assertEquals(EOF, cis.read(new byte[0], 0, 0));
55 }
56 }
57
58 @Test
59 public void testSingleton() throws Exception {
60 try (@SuppressWarnings("deprecation")
61 ClosedInputStream cis = ClosedInputStream.CLOSED_INPUT_STREAM) {
62 assertEof(cis);
63 }
64 try (ClosedInputStream cis = ClosedInputStream.INSTANCE) {
65 assertEof(cis);
66 }
67 }
68
69 }