blob: b480a80fe4c2c5f96dce4e1b9e4a7f0a61b8939c (
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
29
30
31
32
33
34
35
36
 | #include <library/cpp/json/json_value.h>
#include <library/cpp/testing/unittest/registar.h>
#include <util/stream/buffer.h>
#include <util/generic/buffer.h>
#include <util/ysaveload.h>
Y_UNIT_TEST_SUITE(JsonSaveLoad) {
    Y_UNIT_TEST(Serialize) {
        NJson::TJsonValue expected;
        expected["ui64"] = ui64(1);
        expected["i64"] = i64(2);
        expected["double"] = 2.0;
        expected["string"] = "text";
        expected["map"] = expected;
        expected["array"].SetType(NJson::JSON_ARRAY).GetArraySafe().emplace_back(expected);
        expected["null"].SetType(NJson::JSON_NULL);
        expected["undefined"].SetType(NJson::JSON_UNDEFINED);
        TBuffer buffer;
        {
            TBufferOutput output(buffer);
            ::Save(&output, expected);
        }
        NJson::TJsonValue load;
        {
            TBufferInput input(buffer);
            ::Load(&input, load);
        }
        UNIT_ASSERT_EQUAL_C(expected, load, "expected: " << expected << ", got: " << load);
    }
}
 |