From bee4773fad37f82484d797be5ccd5ca868fa4ff9 Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Tue, 4 Mar 2025 22:12:15 -0700 Subject: [PATCH] Add `scaleLinear` units tests for Uint8 to Uint8 --- test/Math/MathUtils.test.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/Math/MathUtils.test.cpp b/test/Math/MathUtils.test.cpp index a908676a..94555f2f 100644 --- a/test/Math/MathUtils.test.cpp +++ b/test/Math/MathUtils.test.cpp @@ -100,6 +100,22 @@ TEST(MathUtils, roundUpPowerOf2) { EXPECT_EQ(2147483648u, NAS2D::roundUpPowerOf2(2147483648)); } +TEST(MathUtils, scaleLinearForwardUint8toUint8) { + EXPECT_EQ(uint8_t{0}, NAS2D::scaleLinear(uint8_t{0}, uint8_t{0}, uint8_t{255}, uint8_t{0}, uint8_t{255})); + EXPECT_EQ(uint8_t{64}, NAS2D::scaleLinear(uint8_t{64}, uint8_t{0}, uint8_t{255}, uint8_t{0}, uint8_t{255})); + EXPECT_EQ(uint8_t{128}, NAS2D::scaleLinear(uint8_t{128}, uint8_t{0}, uint8_t{255}, uint8_t{0}, uint8_t{255})); + EXPECT_EQ(uint8_t{192}, NAS2D::scaleLinear(uint8_t{192}, uint8_t{0}, uint8_t{255}, uint8_t{0}, uint8_t{255})); + EXPECT_EQ(uint8_t{255}, NAS2D::scaleLinear(uint8_t{255}, uint8_t{0}, uint8_t{255}, uint8_t{0}, uint8_t{255})); +} + +TEST(MathUtils, scaleLinearReverseUint8toUint8) { + EXPECT_EQ(uint8_t{255}, NAS2D::scaleLinear(uint8_t{0}, uint8_t{0}, uint8_t{255}, uint8_t{255}, uint8_t{0})); + EXPECT_EQ(uint8_t{191}, NAS2D::scaleLinear(uint8_t{64}, uint8_t{0}, uint8_t{255}, uint8_t{255}, uint8_t{0})); + EXPECT_EQ(uint8_t{127}, NAS2D::scaleLinear(uint8_t{128}, uint8_t{0}, uint8_t{255}, uint8_t{255}, uint8_t{0})); + EXPECT_EQ(uint8_t{63}, NAS2D::scaleLinear(uint8_t{192}, uint8_t{0}, uint8_t{255}, uint8_t{255}, uint8_t{0})); + EXPECT_EQ(uint8_t{0}, NAS2D::scaleLinear(uint8_t{255}, uint8_t{0}, uint8_t{255}, uint8_t{255}, uint8_t{0})); +} + TEST(MathUtils, scaleLinearFloatFahrenheitToCelsius) { // Fahrenheit to Celsius EXPECT_NEAR(-18.33333f, NAS2D::scaleLinear(-1.0f, 32.0f, 212.0f, 0.0f, 100.0f), 0.0001f);