MCPcopy Create free account
hub / github.com/bytedance/sonic-cpp / TEST

Function TEST

tests/document_test.cpp:38–206  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

36using Document = GenericDocument<DNode<>>;
37
38TEST(Document, DNode) {
39 // constructors
40 {
41 int i = -1;
42 const DNode<> node(i);
43 EXPECT_TRUE(node.IsInt64());
44 EXPECT_TRUE(node.IsNumber());
45 EXPECT_EQ(-1, node.GetInt64());
46 }
47 {
48 unsigned int i = 1;
49 const DNode<> node(i);
50 EXPECT_TRUE(node.IsUint64());
51 EXPECT_TRUE(node.IsNumber());
52 EXPECT_EQ(1, node.GetUint64());
53 }
54 {
55 int64_t i = -1;
56 const DNode<> node(i);
57 EXPECT_TRUE(node.IsNumber());
58 EXPECT_TRUE(node.IsInt64());
59 EXPECT_FALSE(node.IsNull());
60 EXPECT_FALSE(node.IsBool());
61 EXPECT_FALSE(node.IsTrue());
62 EXPECT_FALSE(node.IsFalse());
63 EXPECT_FALSE(node.IsUint64());
64 EXPECT_FALSE(node.IsDouble());
65 EXPECT_FALSE(node.IsString());
66 EXPECT_FALSE(node.IsArray());
67 EXPECT_FALSE(node.IsObject());
68 EXPECT_FALSE(node.IsContainer());
69 EXPECT_EQ(-1, node.GetInt64());
70 }
71 if (0) { // TODO: IsInt64() is false
72 uint64_t i = 0xFFFFFFFFFFFFFFFF;
73 const DNode<> node(i);
74 EXPECT_TRUE(node.IsUint64());
75 EXPECT_TRUE(node.IsNumber());
76 EXPECT_FALSE(node.IsNull());
77 EXPECT_FALSE(node.IsBool());
78 EXPECT_FALSE(node.IsTrue());
79 EXPECT_FALSE(node.IsFalse());
80 EXPECT_TRUE(node.IsInt64());
81 EXPECT_FALSE(node.IsDouble());
82 EXPECT_FALSE(node.IsString());
83 EXPECT_FALSE(node.IsArray());
84 EXPECT_FALSE(node.IsObject());
85 EXPECT_FALSE(node.IsContainer());
86 EXPECT_EQ(0xFFFFFFFFFFFFFFFF, node.GetUint64());
87 }
88 {
89 double d = 1.0;
90 const DNode<> node(d);
91 EXPECT_TRUE(node.IsDouble());
92 EXPECT_TRUE(node.IsNumber());
93 EXPECT_FALSE(node.IsNull());
94 EXPECT_FALSE(node.IsBool());
95 EXPECT_FALSE(node.IsTrue());

Callers

nothing calls this directly

Calls 15

IsInt64Method · 0.80
IsNumberMethod · 0.80
IsUint64Method · 0.80
IsNullMethod · 0.80
IsBoolMethod · 0.80
IsTrueMethod · 0.80
IsFalseMethod · 0.80
IsDoubleMethod · 0.80
IsStringMethod · 0.80
IsArrayMethod · 0.80
IsObjectMethod · 0.80
IsContainerMethod · 0.80

Tested by

no test coverage detected