MCPcopy Create free account
hub / github.com/BehaviorTree/BehaviorTree.CPP / TEST_F

Function TEST_F

tests/gtest_json.cpp:106–147  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

104};
105
106TEST_F(JsonTest, TwoWaysConversion)
107{
108 BT::JsonExporter& exporter = BT::JsonExporter::get();
109
110 TestTypes::Pose3D pose = { { 1, 2, 3 }, { 4, 5, 6, 7 } };
111
112 nlohmann::json json;
113 exporter.toJson(BT::Any(69), json["int"]);
114 exporter.toJson(BT::Any(3.14), json["real"]);
115 exporter.toJson(BT::Any(pose), json["pose"]);
116
117 std::cout << json.dump(2) << std::endl;
118
119 ASSERT_EQ(json["int"], 69);
120 ASSERT_EQ(json["real"], 3.14);
121
122 ASSERT_EQ(json["pose"]["__type"], "Pose3D");
123 ASSERT_EQ(json["pose"]["pos"]["x"], 1);
124 ASSERT_EQ(json["pose"]["pos"]["y"], 2);
125 ASSERT_EQ(json["pose"]["pos"]["z"], 3);
126
127 ASSERT_EQ(json["pose"]["rot"]["w"], 4);
128 ASSERT_EQ(json["pose"]["rot"]["x"], 5);
129 ASSERT_EQ(json["pose"]["rot"]["y"], 6);
130 ASSERT_EQ(json["pose"]["rot"]["z"], 7);
131
132 auto num_result = exporter.fromJson(json["int"]);
133 ASSERT_TRUE(num_result) << num_result.error();
134 auto num = num_result->first.cast<int>();
135 ASSERT_EQ(num, 69);
136
137 auto real_result = exporter.fromJson(json["real"]);
138 ASSERT_TRUE(real_result) << real_result.error();
139 auto real = real_result->first.cast<double>();
140 ASSERT_EQ(real, 3.14);
141
142 auto pose_result = exporter.fromJson(json["pose"]);
143 ASSERT_TRUE(pose_result) << pose_result.error();
144 auto pose_out = pose_result->first.cast<TestTypes::Pose3D>();
145 ASSERT_EQ(pose.pos, pose_out.pos);
146 ASSERT_EQ(pose.rot, pose_out.rot);
147}
148
149TEST_F(JsonTest, CustomTime)
150{

Callers

nothing calls this directly

Calls 10

AnyClass · 0.85
createFunction · 0.85
ExportBlackboardToJSONFunction · 0.85
ImportBlackboardFromJSONFunction · 0.85
toJsonMethod · 0.80
dumpMethod · 0.80
setMethod · 0.80
getFunction · 0.50
fromJsonMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected