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.assertArrayEquals;
22
23 import java.io.InputStream;
24 import java.io.OutputStream;
25 import java.nio.file.Files;
26 import java.nio.file.Path;
27
28 import org.apache.commons.compress.AbstractTest;
29 import org.apache.commons.compress.compressors.CompressorStreamFactory;
30 import org.apache.commons.io.IOUtils;
31 import org.junit.jupiter.api.Test;
32
33 public class FactoryTest extends AbstractTest {
34
35 private void roundtripViaFactory(final String format) throws Exception {
36 final Path input = getPath("bla.tar");
37 final Path outputSz = getTempDirFile().toPath().resolve(input.getFileName() + "." + format + ".lz4");
38 try (OutputStream os = Files.newOutputStream(outputSz);
39 OutputStream los = new CompressorStreamFactory().createCompressorOutputStream(format, os)) {
40 Files.copy(input, los);
41 }
42 try (InputStream is = Files.newInputStream(input);
43 InputStream sis = new CompressorStreamFactory().createCompressorInputStream(format, Files.newInputStream(outputSz))) {
44 final byte[] expected = IOUtils.toByteArray(is);
45 final byte[] actual = IOUtils.toByteArray(sis);
46 assertArrayEquals(expected, actual);
47 }
48 }
49
50 @Test
51 public void testBlockRoundtripViaFactory() throws Exception {
52 roundtripViaFactory(CompressorStreamFactory.getLZ4Block());
53 }
54
55 @Test
56 public void testFrameRoundtripViaFactory() throws Exception {
57 roundtripViaFactory(CompressorStreamFactory.getLZ4Framed());
58 }
59 }