diff options
Diffstat (limited to 'source/test/math_test.cpp')
-rw-r--r-- | source/test/math_test.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/source/test/math_test.cpp b/source/test/math_test.cpp new file mode 100644 index 0000000..598e75f --- /dev/null +++ b/source/test/math_test.cpp @@ -0,0 +1,28 @@ +#include "StarMathCommon.hpp" + +#include "gtest/gtest.h" + +using namespace Star; + +TEST(MathTest, All) { + EXPECT_EQ(countSetBits<uint32_t>(7), 3u); + EXPECT_EQ(countSetBits<uint32_t>(15), 4u); + EXPECT_EQ(countSetBits<uint32_t>(-1), 32u); +} + +TEST(Math, CycleIncrement) { + int a = 0; + a = cycleIncrement(a, 10, 13); + ASSERT_EQ(a, 10); + a = cycleIncrement(a, 10, 13); + ASSERT_EQ(a, 11); + a = cycleIncrement(a, 10, 13); + ASSERT_EQ(a, 12); + a = cycleIncrement(a, 10, 13); + ASSERT_EQ(a, 13); + a = cycleIncrement(a, 10, 13); + ASSERT_EQ(a, 10); + int b = 14; + b = cycleIncrement(b, 10, 13); + ASSERT_EQ(b, 10); +} |