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