1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.commons.compress.compressors.lz4;
20
21 import static org.junit.jupiter.api.Assertions.assertTrue;
22
23 import java.io.ByteArrayOutputStream;
24 import java.io.IOException;
25 import java.util.Arrays;
26
27 import org.junit.jupiter.api.Test;
28
29 class FramedLZ4CompressorOutputStreamTest {
30
31 @Test
32 void testFinishWithNoWrite() throws IOException {
33 final ByteArrayOutputStream buffer = new ByteArrayOutputStream();
34 try (FramedLZ4CompressorOutputStream compressor = new FramedLZ4CompressorOutputStream(buffer,
35 new FramedLZ4CompressorOutputStream.Parameters(FramedLZ4CompressorOutputStream.BlockSize.K64, true, false, false))) {
36
37 }
38 assertTrue(buffer.size() == 15, "Only the trailer gets written.");
39 }
40
41 @Test
42 void testWriteByteArrayVsWriteByte() throws IOException {
43 ByteArrayOutputStream buffer = new ByteArrayOutputStream();
44 final byte[] bytes = "abcdefghijklmnop".getBytes();
45 try (FramedLZ4CompressorOutputStream compressor = new FramedLZ4CompressorOutputStream(buffer,
46 new FramedLZ4CompressorOutputStream.Parameters(FramedLZ4CompressorOutputStream.BlockSize.K64, true, false, false))) {
47 compressor.write(bytes);
48 compressor.finish();
49 compressor.close();
50 assertTrue(compressor.isClosed());
51 }
52 final byte[] bulkOutput = buffer.toByteArray();
53 buffer = new ByteArrayOutputStream();
54 try (FramedLZ4CompressorOutputStream compressor = new FramedLZ4CompressorOutputStream(buffer,
55 new FramedLZ4CompressorOutputStream.Parameters(FramedLZ4CompressorOutputStream.BlockSize.K64, true, false, false))) {
56 for (final byte element : bytes) {
57 compressor.write(element);
58 }
59 compressor.finish();
60 compressor.close();
61 assertTrue(compressor.isClosed());
62 }
63 assertTrue(Arrays.equals(bulkOutput, buffer.toByteArray()));
64 }
65
66 }