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 public class ClosedOutputStreamTest {
29
30
31
32
33 @Test
34 public void testFlush() throws IOException {
35 try (ClosedOutputStream cos = new ClosedOutputStream()) {
36 assertThrows(IOException.class, cos::flush);
37 }
38 }
39
40 @Test
41 public void testSingleton() throws IOException {
42 try (@SuppressWarnings("deprecation")
43 ClosedOutputStream cos = ClosedOutputStream.CLOSED_OUTPUT_STREAM) {
44 assertThrows(IOException.class, cos::flush);
45 }
46 try (ClosedOutputStream cos = ClosedOutputStream.INSTANCE) {
47 assertThrows(IOException.class, cos::flush);
48 }
49 }
50
51
52
53
54 @Test
55 public void testWrite() throws IOException {
56 try (ClosedOutputStream cos = new ClosedOutputStream()) {
57 assertThrows(IOException.class, () -> cos.write('x'));
58 }
59 }
60
61 @Test
62 public void testWriteArray() throws IOException {
63 try (ClosedOutputStream cos = new ClosedOutputStream()) {
64 assertThrows(IOException.class, () -> cos.write(new byte[0]));
65 assertThrows(IOException.class, () -> cos.write(new byte[10]));
66 }
67 }
68
69 @Test
70 public void testWriteArrayIndex() throws IOException {
71 try (ClosedOutputStream cos = new ClosedOutputStream()) {
72 assertThrows(IOException.class, () -> cos.write(new byte[0], 0, 0));
73 assertThrows(IOException.class, () -> cos.write(new byte[10], 0, 1));
74 }
75 }
76
77 }