diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-01-19 13:29:20 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-01-19 13:48:10 +0100 |
commit | 2d700964107f60381de9091e724fcc316f36f4d7 (patch) | |
tree | 09d80f5db1b662795f77c105ef36747f380d9d63 /vespajlib/src/test/java/com/yahoo/compress | |
parent | 677a35028b3aac1b6b7232b470d1fdf2df772a52 (diff) |
Add zstd support to Compressor
Introduce zstandard compression using airlift aircompressor - a pure Java implementation.
Diffstat (limited to 'vespajlib/src/test/java/com/yahoo/compress')
-rw-r--r-- | vespajlib/src/test/java/com/yahoo/compress/CompressorTest.java | 27 | ||||
-rw-r--r-- | vespajlib/src/test/java/com/yahoo/compress/ZstdCompressorTest.java | 22 |
2 files changed, 49 insertions, 0 deletions
diff --git a/vespajlib/src/test/java/com/yahoo/compress/CompressorTest.java b/vespajlib/src/test/java/com/yahoo/compress/CompressorTest.java new file mode 100644 index 00000000000..8a16e107608 --- /dev/null +++ b/vespajlib/src/test/java/com/yahoo/compress/CompressorTest.java @@ -0,0 +1,27 @@ +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.compress; + +import org.junit.jupiter.api.Test; + +import java.util.Optional; + +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; + +/** + * @author bjorncs + */ +class CompressorTest { + + @Test + void compresses_and_decompresses_input_using_zstd() { + byte[] inputData = "The quick brown fox jumps over the lazy dog".getBytes(); + Compressor compressor = new Compressor(CompressionType.ZSTD); + Compressor.Compression compression = compressor.compress(CompressionType.ZSTD, inputData, Optional.empty()); + assertEquals(inputData.length, compression.uncompressedSize()); + byte[] compressedData = compression.data(); + byte[] decompressedData = compressor.decompress(CompressionType.ZSTD, compressedData, 0, inputData.length, Optional.of(compressedData.length)); + assertArrayEquals(inputData, decompressedData); + } + +}
\ No newline at end of file diff --git a/vespajlib/src/test/java/com/yahoo/compress/ZstdCompressorTest.java b/vespajlib/src/test/java/com/yahoo/compress/ZstdCompressorTest.java new file mode 100644 index 00000000000..837482a089a --- /dev/null +++ b/vespajlib/src/test/java/com/yahoo/compress/ZstdCompressorTest.java @@ -0,0 +1,22 @@ +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.compress; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertArrayEquals; + +/** + * @author bjorncs + */ +class ZstdCompressorTest { + + @Test + void compresses_and_decompresses_input() { + byte[] inputData = "The quick brown fox jumps over the lazy dog".getBytes(); + ZstdCompressor compressor = new ZstdCompressor(); + byte[] compressedData = compressor.compress(inputData, 0, inputData.length); + byte[] decompressedData = compressor.decompress(compressedData, 0, compressedData.length); + assertArrayEquals(inputData, decompressedData); + } + +}
\ No newline at end of file |