summaryrefslogtreecommitdiffstats
path: root/vespajlib/src/test/java/com/yahoo/compress
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2021-01-19 13:29:20 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2021-01-19 13:48:10 +0100
commit2d700964107f60381de9091e724fcc316f36f4d7 (patch)
tree09d80f5db1b662795f77c105ef36747f380d9d63 /vespajlib/src/test/java/com/yahoo/compress
parent677a35028b3aac1b6b7232b470d1fdf2df772a52 (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.java27
-rw-r--r--vespajlib/src/test/java/com/yahoo/compress/ZstdCompressorTest.java22
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