summaryrefslogtreecommitdiffstats
path: root/yt/cpp/mapreduce/interface/ut/serialize_ut.cpp
diff options
context:
space:
mode:
authornadya73 <[email protected]>2024-07-02 23:10:50 +0300
committernadya73 <[email protected]>2024-07-02 23:21:03 +0300
commit5ea9afc5ee7edc24efa5f45b3a15e184872b0854 (patch)
tree4ccc339d97575cba8b3ed47b6f0615326bdb5324 /yt/cpp/mapreduce/interface/ut/serialize_ut.cpp
parent96b239778766d32d5158aca805e08199b3c0a743 (diff)
[yt/cpp/mapreduce] YT-21595: Use gtest instead of ytest in all mapreduce tests
85671f0cf4f45b4f015fa2cc0d195b81c16c6e8a
Diffstat (limited to 'yt/cpp/mapreduce/interface/ut/serialize_ut.cpp')
-rw-r--r--yt/cpp/mapreduce/interface/ut/serialize_ut.cpp46
1 files changed, 46 insertions, 0 deletions
diff --git a/yt/cpp/mapreduce/interface/ut/serialize_ut.cpp b/yt/cpp/mapreduce/interface/ut/serialize_ut.cpp
new file mode 100644
index 00000000000..0acec154d4e
--- /dev/null
+++ b/yt/cpp/mapreduce/interface/ut/serialize_ut.cpp
@@ -0,0 +1,46 @@
+#include <yt/cpp/mapreduce/interface/serialize.h>
+#include <yt/cpp/mapreduce/interface/common.h>
+
+#include <library/cpp/yson/node/node_builder.h>
+
+#include <library/cpp/testing/gtest/gtest.h>
+
+#include <util/generic/serialized_enum.h>
+
+using namespace NYT;
+
+TEST(TSerializationTest, TableSchema)
+{
+ auto schema = TTableSchema()
+ .AddColumn(TColumnSchema().Name("a").Type(EValueType::VT_STRING).SortOrder(SO_ASCENDING))
+ .AddColumn(TColumnSchema().Name("b").Type(EValueType::VT_UINT64))
+ .AddColumn(TColumnSchema().Name("c").Type(EValueType::VT_INT64, true));
+
+ auto schemaNode = schema.ToNode();
+ EXPECT_TRUE(schemaNode.IsList());
+ EXPECT_EQ(schemaNode.Size(), 3u);
+
+
+ EXPECT_EQ(schemaNode[0]["name"], "a");
+ EXPECT_EQ(schemaNode[0]["type"], "string");
+ EXPECT_EQ(schemaNode[0]["required"], false);
+ EXPECT_EQ(schemaNode[0]["sort_order"], "ascending");
+
+ EXPECT_EQ(schemaNode[1]["name"], "b");
+ EXPECT_EQ(schemaNode[1]["type"], "uint64");
+ EXPECT_EQ(schemaNode[1]["required"], false);
+
+ EXPECT_EQ(schemaNode[2]["name"], "c");
+ EXPECT_EQ(schemaNode[2]["type"], "int64");
+ EXPECT_EQ(schemaNode[2]["required"], true);
+}
+
+TEST(TSerializationTest, ValueTypeSerialization)
+{
+ for (const auto value : GetEnumAllValues<EValueType>()) {
+ TNode serialized = NYT::NDetail::ToString(value);
+ EValueType deserialized;
+ Deserialize(deserialized, serialized);
+ EXPECT_EQ(value, deserialized);
+ }
+}