| 83 | } |
| 84 | |
| 85 | template <class T> static void assert_equals(const T & expected, const T & actual) { |
| 86 | if (!equals(expected, actual)) { |
| 87 | std::cerr << "Expected:```\n" << expected << "\n```" << std::endl; |
| 88 | std::cerr << "Actual:```\n" << actual << "\n```" << std::endl; |
| 89 | std::cerr << std::flush; |
| 90 | throw std::runtime_error("Test failed"); |
| 91 | } |
| 92 | } |
| 93 | |
| 94 | static std::string read_file(const std::string & path) { |
| 95 | std::cerr << "# Reading: " << path << '\n' << std::flush; |
no test coverage detected