Flesh out Optional members swap, reset, emplace, has_value
[folly.git] / folly / test / ConstexprMathTest.cpp
index 166175a38d7db13790bddad7eaf6c289dc295a7b..6c0c71f9c9a2f277b22dcc6a6853b81cf6684c00 100644 (file)
 namespace {
 
 class ConstexprMathTest : public testing::Test {};
+} // namespace
+
+TEST_F(ConstexprMathTest, constexpr_min) {
+  constexpr auto x = uint16_t(3);
+  constexpr auto y = uint16_t(7);
+  constexpr auto z = uint16_t(4);
+  constexpr auto a = folly::constexpr_min(x, y, z);
+  EXPECT_EQ(3, a);
+  EXPECT_TRUE((std::is_same<const uint16_t, decltype(a)>::value));
+}
+
+TEST_F(ConstexprMathTest, constexpr_max) {
+  constexpr auto x = uint16_t(3);
+  constexpr auto y = uint16_t(7);
+  constexpr auto z = uint16_t(4);
+  constexpr auto a = folly::constexpr_max(x, y, z);
+  EXPECT_EQ(7, a);
+  EXPECT_TRUE((std::is_same<const uint16_t, decltype(a)>::value));
 }
 
 TEST_F(ConstexprMathTest, constexpr_abs_unsigned) {