aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/streams/lzop/lzop_ut.cpp
diff options
context:
space:
mode:
authorkomels <komels@yandex-team.ru>2022-04-14 13:10:53 +0300
committerkomels <komels@yandex-team.ru>2022-04-14 13:10:53 +0300
commit21c9b0e6b039e9765eb414c406c2b86e8cea6850 (patch)
treef40ebc18ff8958dfbd189954ad024043ca983ea5 /library/cpp/streams/lzop/lzop_ut.cpp
parent9a4effa852abe489707139c2b260dccc6f4f9aa9 (diff)
downloadydb-21c9b0e6b039e9765eb414c406c2b86e8cea6850.tar.gz
Final part on compatibility layer: LOGBROKER-7215
ref:777c67aadbf705d19034a09a792b2df61ba53697
Diffstat (limited to 'library/cpp/streams/lzop/lzop_ut.cpp')
-rw-r--r--library/cpp/streams/lzop/lzop_ut.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/library/cpp/streams/lzop/lzop_ut.cpp b/library/cpp/streams/lzop/lzop_ut.cpp
new file mode 100644
index 0000000000..38b35b1c37
--- /dev/null
+++ b/library/cpp/streams/lzop/lzop_ut.cpp
@@ -0,0 +1,54 @@
+#include "lzop.h"
+
+#include <library/cpp/testing/unittest/registar.h>
+
+#include <util/system/tempfile.h>
+#include <util/stream/file.h>
+
+#define ZDATA "./lzop_data"
+
+Y_UNIT_TEST_SUITE(TLzopTest) {
+ static const TString data = "8s7d5vc6s5vc67sa4c65ascx6asd4xcv76adsfxv76s";
+ static const TString data2 = "cn8wk2bd9vb3vdfif83g1ks94bfiovtwv";
+
+ Y_UNIT_TEST(Compress) {
+ TUnbufferedFileOutput o(ZDATA);
+ TLzopCompress c(&o);
+
+ c.Write(data.data(), data.size());
+ c.Finish();
+ o.Finish();
+ }
+
+ Y_UNIT_TEST(Decompress) {
+ TTempFile tmpFile(ZDATA);
+
+ {
+ TUnbufferedFileInput i(ZDATA);
+ TLzopDecompress d(&i);
+
+ UNIT_ASSERT_EQUAL(d.ReadLine(), data);
+ }
+ }
+
+ Y_UNIT_TEST(DecompressTwoStreams) {
+ // Check that Decompress(Compress(X) + Compress(Y)) == X + Y
+ TTempFile tmpFile(ZDATA);
+ {
+ TUnbufferedFileOutput o(ZDATA);
+ TLzopCompress c1(&o);
+ c1.Write(data.data(), data.size());
+ c1.Finish();
+ TLzopCompress c2(&o);
+ c2.Write(data2.data(), data2.size());
+ c2.Finish();
+ o.Finish();
+ }
+ {
+ TUnbufferedFileInput i(ZDATA);
+ TLzopDecompress d(&i);
+
+ UNIT_ASSERT_EQUAL(d.ReadLine(), data + data2);
+ }
+ }
+}