#include "studio/checker.hpp" #include #include #include int main() { struct Case { std::size_t x; std::size_t y; int expected; }; constexpr auto largest = std::numeric_limits::max(); constexpr std::array cases{ Case{0, 0, 32}, Case{1, 1, 32}, Case{2, 0, 224}, Case{0, 2, 224}, Case{2, 2, 32}, Case{4, 0, 32}, Case{largest, largest, 32}, Case{largest, 0, 224} }; int failures = 0; for (const auto& item : cases) { if (studio::shade(item.x, item.y) != item.expected) { std::cerr << "Unexpected shade at " << item.x << ',' << item.y << '\n'; ++failures; } } if (failures != 0) return 1; std::cout << cases.size() << " checker contracts passed\n"; std::cout.flush(); return std::cout ? 0 : 1; }