diff --git a/src/test/unit/maths_unittest.cc b/src/test/unit/maths_unittest.cc index 5082bc6da3..0a20fd63c1 100644 --- a/src/test/unit/maths_unittest.cc +++ b/src/test/unit/maths_unittest.cc @@ -70,6 +70,25 @@ TEST(MathsUnittest, TestScaleRangeNegatives) EXPECT_EQ(scaleRange(-50, -100, 0, -10, 0), -5); } +TEST(MathsUnittest, TestScaleRangeReverse) +{ + // Within bounds + EXPECT_EQ(scaleRange(0, -10, 0, 0, 100), 100); + EXPECT_EQ(scaleRange(-10, -10, 0, 0, 100), 0); + EXPECT_EQ(scaleRange(0, -100, 0, 0, 10), 10); + EXPECT_EQ(scaleRange(-100, -100, 0, 0, 10), 0); + + // Scale up + EXPECT_EQ(scaleRange(-1, -10, 0, 0, 100), 90); + EXPECT_EQ(scaleRange(-2, -10, 0, 0, 100), 80); + EXPECT_EQ(scaleRange(-5, -10, 0, 0, 100), 50); + + // Scale down + EXPECT_EQ(scaleRange(-10, -100, 0, 0, 10), 9); + EXPECT_EQ(scaleRange(-20, -100, 0, 0, 10), 8); + EXPECT_EQ(scaleRange(-50, -100, 0, 0, 10), 5); +} + TEST(MathsUnittest, TestConstrain) { // Within bounds