#ifndef CHESS_ENGINE_TESTS_TESTUTILS_HPP #define CHESS_ENGINE_TESTS_TESTUTILS_HPP #include #include #include template inline std::ostream& operator<<(std::ostream& os, const std::optional& opt) { if (opt.has_value()) { return os << opt.value(); } else { return os << "nullopt"; } } template inline std::ostream& operator<<(std::ostream& os, const std::unique_ptr& ptr) { if (ptr == nullptr) { return os << "nullptr"; } else { return os << ptr.get(); } } #endif