#pragma once #include #include #include #include template static void assertEquals(const T &expected, const T &actual) { if(expected != actual) { std::stringstream ss; ss << "Assertion failed!\nExpected: " << expected << ", actual: " << actual << std::endl; throw std::runtime_error(ss.str()); } } static void fail(const std::string &errMsg) { std::stringstream ss; ss << "Fail:\n" << errMsg << std::endl; throw std::runtime_error(ss.str()); }