| 112 | }; |
| 113 | |
| 114 | TEST_F(JSONSerializer, SerializeDeserialize) { |
| 115 | dap::JSONTestObject encoded; |
| 116 | encoded.b = true; |
| 117 | encoded.i = 32; |
| 118 | encoded.n = 123.456; |
| 119 | encoded.a = {2, 4, 6, 8, 0x100000000, -2, -4, -6, -8, -0x100000000}; |
| 120 | encoded.o["one"] = dap::integer(1); |
| 121 | encoded.o["two"] = dap::number(2); |
| 122 | encoded.s = "hello world"; |
| 123 | encoded.o2 = 42; |
| 124 | encoded.inner.i = 70; |
| 125 | |
| 126 | dap::json::Serializer s; |
| 127 | ASSERT_TRUE(s.serialize(encoded)); |
| 128 | |
| 129 | dap::JSONTestObject decoded; |
| 130 | dap::json::Deserializer d(s.dump()); |
| 131 | ASSERT_TRUE(d.deserialize(&decoded)); |
| 132 | |
| 133 | ASSERT_EQ(encoded.b, decoded.b); |
| 134 | ASSERT_EQ(encoded.i, decoded.i); |
| 135 | ASSERT_EQ(encoded.n, decoded.n); |
| 136 | ASSERT_EQ(encoded.a, decoded.a); |
| 137 | ASSERT_EQ(encoded.o["one"].get<dap::integer>(), |
| 138 | decoded.o["one"].get<dap::integer>()); |
| 139 | ASSERT_EQ(encoded.o["two"].get<dap::number>(), |
| 140 | decoded.o["two"].get<dap::number>()); |
| 141 | ASSERT_EQ(encoded.s, decoded.s); |
| 142 | ASSERT_EQ(encoded.o2, decoded.o2); |
| 143 | ASSERT_EQ(encoded.inner.i, decoded.inner.i); |
| 144 | } |
| 145 | |
| 146 | TEST_F(JSONSerializer, SerializeObjectNoFields) { |
| 147 | dap::JSONObjectNoFields obj; |
nothing calls this directly
no test coverage detected
searching dependent graphs…