aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/yson/node/node_ut.cpp
diff options
context:
space:
mode:
authorAlexander Smirnov <alex@ydb.tech>2024-04-16 09:11:59 +0000
committerAlexander Smirnov <alex@ydb.tech>2024-04-16 09:11:59 +0000
commit25de1d521ca218e2b040739fea77a39e9fc543e9 (patch)
tree21521d8866cf1462dbd52c071cf369974c29650e /library/cpp/yson/node/node_ut.cpp
parentbf444b8ed4d0f6bf17fd753e2cf88f9440012e87 (diff)
parent0a63d9ddc516f206f2b8745ce5e5dfa60190d755 (diff)
downloadydb-25de1d521ca218e2b040739fea77a39e9fc543e9.tar.gz
Merge branch 'rightlib' into mergelibs-240416-0910
Diffstat (limited to 'library/cpp/yson/node/node_ut.cpp')
-rw-r--r--library/cpp/yson/node/node_ut.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/library/cpp/yson/node/node_ut.cpp b/library/cpp/yson/node/node_ut.cpp
index 728a926283..80d231cd09 100644
--- a/library/cpp/yson/node/node_ut.cpp
+++ b/library/cpp/yson/node/node_ut.cpp
@@ -279,6 +279,37 @@ Y_UNIT_TEST_SUITE(YtNodeTest) {
UNIT_ASSERT_VALUES_EQUAL(node, nodeCopy);
}
+ Y_UNIT_TEST(TestSaveLoadWithNeighbours) {
+ TString stringBefore = "before";
+
+ TNode node = TNode()("foo", "bar")("baz", 42);
+ node.Attributes()["attr_name"] = "attr_value";
+
+ TString stringAfter = "after";
+
+ TString bytes;
+ {
+ TStringOutput s(bytes);
+ ::Save(&s, stringBefore);
+ ::Save(&s, node);
+ ::Save(&s, stringAfter);
+ }
+
+ TString deserializedStringBefore;
+ TString deserializedStringAfter;
+ TNode nodeCopy;
+ {
+ TStringInput s(bytes);
+ ::Load(&s, deserializedStringBefore);
+ ::Load(&s, nodeCopy);
+ ::Load(&s, deserializedStringAfter);
+ }
+
+ UNIT_ASSERT_VALUES_EQUAL(stringBefore, deserializedStringBefore);
+ UNIT_ASSERT_VALUES_EQUAL(node, nodeCopy);
+ UNIT_ASSERT_VALUES_EQUAL(stringAfter, deserializedStringAfter);
+ }
+
Y_UNIT_TEST(TestIntCast) {
TNode node = 1ull << 31;
UNIT_ASSERT(node.IsUint64());