1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.io.output;
18
19 import static org.junit.jupiter.api.Assertions.assertThrows;
20
21 import java.io.IOException;
22
23 import org.junit.jupiter.api.Test;
24
25
26
27
28 class NullOutputStreamTest {
29
30 private void process(final NullOutputStream nos) throws IOException {
31 nos.write("string".getBytes());
32 nos.write("some string".getBytes(), 3, 5);
33 nos.write(1);
34 nos.write(0x0f);
35 nos.flush();
36 nos.close();
37 nos.write("allowed".getBytes());
38 nos.write(255);
39
40 final byte[] b = new byte[1];
41 assertThrows(IndexOutOfBoundsException.class, () -> nos.write(b, -1, 0));
42 assertThrows(IndexOutOfBoundsException.class, () -> nos.write(b, 0, -1));
43 assertThrows(IndexOutOfBoundsException.class, () -> nos.write(b, 0, 2));
44 assertThrows(NullPointerException.class, () -> nos.write(null, 0, 0));
45 }
46
47 @Test
48 @SuppressWarnings("deprecation")
49 void testNewInstance() throws IOException {
50 try (NullOutputStream nos = new NullOutputStream()) {
51 process(nos);
52 }
53 }
54
55 @Test
56 void testSingleton() throws IOException {
57 try (NullOutputStream nos = NullOutputStream.INSTANCE) {
58 process(nos);
59 }
60 }
61
62 }