#include "water_depth.h" #include #include #include #include int main() { for (double scale : {0.25, 0.5, 1.0, 2.0}) { assert(mtgodot::water_depth_alpha(-1, scale) == 0); assert(mtgodot::water_depth_alpha(0, scale) == 0); assert(std::abs(mtgodot::water_depth_alpha(100 * scale, scale) - 0.25) < 1e-6); assert(std::abs(mtgodot::water_depth_alpha(320 * scale, scale) - 0.8) < 1e-6); assert(std::abs(mtgodot::water_depth_alpha(1000 * scale, scale) - 0.8) < 1e-6); } assert(mtgodot::water_depth_alpha(100, 0) == 0); assert(mtgodot::water_depth_alpha(std::numeric_limits::quiet_NaN(), 1) == 0); std::puts("PASS: water depth reference (raw depth, shoreline, cap, height scale)"); }