// // dyn_limit_test.cxx // limit-test // // Created by Sam Jaffe on 12/9/23. // #include "math/dyn_limit.h" #include "xcode_gtest_helper.h" TEST(DynBoundNumber, ConstructsInbounds) { EXPECT_EQ(math::DynBound(0, -5, +7), 0); } TEST(DynBoundNumber, ClampsOOBLow) { EXPECT_EQ(math::DynBound(-6, -5, +7), -5); } TEST(DynBoundNumber, ClampsOOBHigh) { EXPECT_EQ(math::DynBound(+8, -5, +7), +7); } TEST(DynBoundNumber, IncrementIsLimitSafe) { math::DynBound value(+7, -5, +7); EXPECT_EQ(value, +7); EXPECT_EQ(value++, +7); EXPECT_EQ(value, +7); } TEST(DynBoundNumber, DecrementIsLimitSafe) { math::DynBound value(-5, -5, +7); EXPECT_EQ(value, -5); EXPECT_EQ(value--, -5); EXPECT_EQ(value, -5); }