From 6a87a6c40d7fce3dc9fd7b4b3063fa2c8be4e669 Mon Sep 17 00:00:00 2001 From: Manors Date: Thu, 6 Apr 2017 02:52:45 +0800 Subject: [PATCH] Add test code for scaleRange --- src/test/unit/maths_unittest.cc | 39 +++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/test/unit/maths_unittest.cc b/src/test/unit/maths_unittest.cc index 5092678775..5082bc6da3 100644 --- a/src/test/unit/maths_unittest.cc +++ b/src/test/unit/maths_unittest.cc @@ -31,6 +31,45 @@ extern "C" { #include "unittest_macros.h" #include "gtest/gtest.h" + +TEST(MathsUnittest, TestScaleRange) +{ + // Within bounds + EXPECT_EQ(scaleRange(0, 0, 10, 0, 100), 0); + EXPECT_EQ(scaleRange(10, 0, 10, 0, 100), 100); + EXPECT_EQ(scaleRange(0, 0, 100, 0, 10), 0); + EXPECT_EQ(scaleRange(100, 0, 100, 0, 10), 10); + + // Scale up + EXPECT_EQ(scaleRange(1, 0, 10, 0, 100), 10); + EXPECT_EQ(scaleRange(2, 0, 10, 0, 100), 20); + EXPECT_EQ(scaleRange(5, 0, 10, 0, 100), 50); + + // Scale down + EXPECT_EQ(scaleRange(10, 0, 100, 0, 10), 1); + EXPECT_EQ(scaleRange(20, 0, 100, 0, 10), 2); + EXPECT_EQ(scaleRange(50, 0, 100, 0, 10), 5); +} + +TEST(MathsUnittest, TestScaleRangeNegatives) +{ + // Within bounds + EXPECT_EQ(scaleRange(0, -10, 0, -100, 0), 0); + EXPECT_EQ(scaleRange(-10, -10, 0, -100, 0), -100); + EXPECT_EQ(scaleRange(0, -100, 0, -10, 0), 0); + EXPECT_EQ(scaleRange(-100, -100, 0, -10, 0), -10); + + // Scale up + EXPECT_EQ(scaleRange(-1, -10, 0, -100, 0), -10); + EXPECT_EQ(scaleRange(-2, -10, 0, -100, 0), -20); + EXPECT_EQ(scaleRange(-5, -10, 0, -100, 0), -50); + + // Scale down + EXPECT_EQ(scaleRange(-10, -100, 0, -10, 0), -1); + EXPECT_EQ(scaleRange(-20, -100, 0, -10, 0), -2); + EXPECT_EQ(scaleRange(-50, -100, 0, -10, 0), -5); +} + TEST(MathsUnittest, TestConstrain) { // Within bounds