コード例 #1
0
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();
}