TEST(OpenRTB, AppTest) { dynamic appObj = parseJson(readFile("testdata/app.json")); App app; app.deserialize(appObj); std::function<void()> checkFunction = [&](){ EXPECT_EQ(app.id, appObj.at("id").asString().toStdString()); EXPECT_EQ(app.name.get(), appObj.at("name").asString().toStdString()); dynamic catArr = {}; for(auto elem : app.cat.get()) { catArr.push_back(elem); } EXPECT_EQ(catArr, appObj.at("cat")); EXPECT_EQ(app.publisher.get().id, appObj.at("publisher").at("id").asString().toStdString()); EXPECT_EQ(app.publisher.get().domain, appObj.at("publisher").at("domain").asString().toStdString()); EXPECT_EQ(app.publisher.get().name, appObj.at("publisher").at("name").asString().toStdString()); }; checkFunction(); appObj = app.serialize(); checkFunction(); }