aboutsummaryrefslogtreecommitdiffstats
path: root/ydb/library/binary_json/ut/test_base.cpp
blob: df9947f36d7c2ec3aa9805d4f5a81822338b05f4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "test_base.h"

#include <ydb/library/yql/minikql/dom/json.h>

using namespace NYql::NDom;

TBinaryJsonTestBase::TBinaryJsonTestBase()
    : FunctionRegistry(CreateFunctionRegistry(CreateBuiltinRegistry()))
    , Env(Alloc)
    , MemInfo("Memory")
    , HolderFactory(Alloc.Ref(), MemInfo, FunctionRegistry.Get())
    , ValueBuilder(HolderFactory)
{
}

TString TBinaryJsonTestBase::EntryToJsonText(const TEntryCursor& cursor) {
    if (cursor.GetType() == EEntryType::Container) {
        return ContainerToJsonText(cursor.GetContainer());
    }

    TUnboxedValue result = ReadElementToJsonDom(cursor, &ValueBuilder);
    return SerializeJsonDom(result);
}

TString TBinaryJsonTestBase::ContainerToJsonText(const TContainerCursor& cursor) {
    TUnboxedValue result = ReadContainerToJsonDom(cursor, &ValueBuilder);
    return SerializeJsonDom(result);
}