diff options
| author | nadya73 <[email protected]> | 2024-07-02 23:10:50 +0300 |
|---|---|---|
| committer | nadya73 <[email protected]> | 2024-07-02 23:21:03 +0300 |
| commit | 5ea9afc5ee7edc24efa5f45b3a15e184872b0854 (patch) | |
| tree | 4ccc339d97575cba8b3ed47b6f0615326bdb5324 /yt/cpp/mapreduce/interface/ut/serialize_ut.cpp | |
| parent | 96b239778766d32d5158aca805e08199b3c0a743 (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.cpp | 46 |
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); + } +} |
