Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/test/math_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/test/math_test.cpp')
-rw-r--r--source/test/math_test.cpp28
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);
+}