/** test that model with specified name in good path parses * and returns a warning containing the second arg as a substring * * @param model_name Name of model to parse * @param msg Substring of warning message expected. */ void test_warning(const std::string& model_name, const std::string& warning_msg) { std::stringstream msgs; EXPECT_TRUE(is_parsable_folder(model_name, "good", &msgs)); bool found = msgs.str().find(warning_msg) != std::string::npos; EXPECT_TRUE(found) << std::endl << "FOUND: " << msgs.str() << std::endl << "EXPECTED (as substring): " << warning_msg << std::endl; }
/** test that model with specified name in folder "bad" throws * an exception containing the second arg as a substring * * @param model_name Name of model to parse * @param msg Substring of error message expected. */ void test_throws(const std::string& model_name, const std::string& error_msg) { std::stringstream msgs; try { is_parsable_folder(model_name, "bad", &msgs); } catch (const std::invalid_argument& e) { if (std::string(e.what()).find(error_msg) == std::string::npos && msgs.str().find(error_msg) == std::string::npos) { FAIL() << std::endl << "*********************************" << std::endl << "model name=" << model_name << std::endl << "*** EXPECTED: error_msg=" << error_msg << std::endl << "*** FOUND: e.what()=" << e.what() << std::endl << "*** FOUND: msgs.str()=" << msgs.str() << std::endl << "*********************************" << std::endl << std::endl; } return; } FAIL() << "model name=" << model_name << " is parsable and were expecting msg=" << error_msg << std::endl; }
/** test that model with specified name in folder "good" * parses without throwing an exception * * @param model_name Name of model to parse */ void test_parsable(const std::string& model_name) { { SCOPED_TRACE("parsing: " + model_name); EXPECT_TRUE(is_parsable_folder(model_name, "good")); } }
/** test that model with specified name in good path parses * and returns a warning containing the second arg as a substring * * @param model_name Name of model to parse * @param msg Substring of warning message expected. */ void test_warning(const std::string& model_name, const std::string& warning_msg) { std::stringstream msgs; EXPECT_TRUE(is_parsable_folder(model_name, "good", &msgs)); EXPECT_TRUE(msgs.str().find_first_of(warning_msg) != std::string::npos); }