|
|
@@ -20,14 +20,14 @@ struct nlohmann_json_like final {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
-TEST(TypeTraits, SizeOf) {
|
|
|
+TEST(SizeOf, Functionalities) {
|
|
|
static_assert(entt::size_of_v<void> == 0u);
|
|
|
static_assert(entt::size_of_v<char> == sizeof(char));
|
|
|
static_assert(entt::size_of_v<int[]> == 0u);
|
|
|
static_assert(entt::size_of_v<int[3]> == sizeof(int[3]));
|
|
|
}
|
|
|
|
|
|
-TEST(TypeTraits, UnpackAsType) {
|
|
|
+TEST(UnpackAsType, Functionalities) {
|
|
|
auto test = [](auto &&...args) {
|
|
|
return [](entt::unpack_as_type<int, decltype(args)>... value) {
|
|
|
return (value + ... + 0);
|
|
|
@@ -37,7 +37,7 @@ TEST(TypeTraits, UnpackAsType) {
|
|
|
ASSERT_EQ(test('c', 42., true)(1, 2, 3), 6);
|
|
|
}
|
|
|
|
|
|
-TEST(TypeTraits, UnpackAsValue) {
|
|
|
+TEST(UnpackAsValue, Functionalities) {
|
|
|
auto test = [](auto &&...args) {
|
|
|
return (entt::unpack_as_value<2, decltype(args)> + ... + 0);
|
|
|
};
|
|
|
@@ -45,19 +45,19 @@ TEST(TypeTraits, UnpackAsValue) {
|
|
|
ASSERT_EQ(test('c', 42., true), 6);
|
|
|
}
|
|
|
|
|
|
-TEST(TypeTraits, IntegralConstant) {
|
|
|
+TEST(IntegralConstant, Functionalities) {
|
|
|
entt::integral_constant<3> constant{};
|
|
|
|
|
|
static_assert(std::is_same_v<typename entt::integral_constant<3>::value_type, int>);
|
|
|
static_assert(constant.value == 3);
|
|
|
}
|
|
|
|
|
|
-TEST(TypeTraits, Choice) {
|
|
|
+TEST(Choice, Functionalities) {
|
|
|
static_assert(std::is_base_of_v<entt::choice_t<0>, entt::choice_t<1>>);
|
|
|
static_assert(!std::is_base_of_v<entt::choice_t<1>, entt::choice_t<0>>);
|
|
|
}
|
|
|
|
|
|
-TEST(TypeTraits, TypeList) {
|
|
|
+TEST(TypeList, Functionalities) {
|
|
|
using type = entt::type_list<int, char>;
|
|
|
using other = entt::type_list<double>;
|
|
|
|
|
|
@@ -85,7 +85,7 @@ TEST(TypeTraits, TypeList) {
|
|
|
static_assert(std::is_same_v<entt::type_list_diff_t<entt::type_list<int, char, double>, entt::type_list<char>>, entt::type_list<int, double>>);
|
|
|
}
|
|
|
|
|
|
-TEST(TypeTraits, ValueList) {
|
|
|
+TEST(ValueList, Functionalities) {
|
|
|
using value = entt::value_list<0, 2>;
|
|
|
using other = entt::value_list<1>;
|
|
|
|
|
|
@@ -102,7 +102,7 @@ TEST(TypeTraits, ValueList) {
|
|
|
static_assert(entt::value_list_element_v<0u, other> == 1);
|
|
|
}
|
|
|
|
|
|
-TEST(TypeTraits, IsApplicable) {
|
|
|
+TEST(IsApplicable, Functionalities) {
|
|
|
static_assert(entt::is_applicable_v<void(int, char), std::tuple<double, char>>);
|
|
|
static_assert(!entt::is_applicable_v<void(int, char), std::tuple<int>>);
|
|
|
|
|
|
@@ -111,12 +111,12 @@ TEST(TypeTraits, IsApplicable) {
|
|
|
static_assert(!entt::is_applicable_r_v<int, int(int, char), std::tuple<void>>);
|
|
|
}
|
|
|
|
|
|
-TEST(TypeTraits, IsComplete) {
|
|
|
+TEST(IsComplete, Functionalities) {
|
|
|
static_assert(!entt::is_complete_v<void>);
|
|
|
static_assert(entt::is_complete_v<int>);
|
|
|
}
|
|
|
|
|
|
-TEST(TypeTraits, IsIterator) {
|
|
|
+TEST(IsIterator, Functionalities) {
|
|
|
static_assert(!entt::is_iterator_v<void>);
|
|
|
static_assert(!entt::is_iterator_v<int>);
|
|
|
|
|
|
@@ -128,21 +128,21 @@ TEST(TypeTraits, IsIterator) {
|
|
|
static_assert(entt::is_iterator_v<std::vector<int>::reverse_iterator>);
|
|
|
}
|
|
|
|
|
|
-TEST(TypeTraits, IsEBCOEligible) {
|
|
|
+TEST(IsEBCOEligible, Functionalities) {
|
|
|
static_assert(entt::is_ebco_eligible_v<not_comparable>);
|
|
|
static_assert(!entt::is_ebco_eligible_v<nlohmann_json_like>);
|
|
|
static_assert(!entt::is_ebco_eligible_v<double>);
|
|
|
static_assert(!entt::is_ebco_eligible_v<void>);
|
|
|
}
|
|
|
|
|
|
-TEST(TypeTraits, IsTransparent) {
|
|
|
+TEST(IsTransparent, Functionalities) {
|
|
|
static_assert(!entt::is_transparent_v<std::less<int>>);
|
|
|
static_assert(entt::is_transparent_v<std::less<void>>);
|
|
|
static_assert(!entt::is_transparent_v<std::logical_not<double>>);
|
|
|
static_assert(entt::is_transparent_v<std::logical_not<void>>);
|
|
|
}
|
|
|
|
|
|
-TEST(TypeTraits, IsEqualityComparable) {
|
|
|
+TEST(IsEqualityComparable, Functionalities) {
|
|
|
static_assert(entt::is_equality_comparable_v<int>);
|
|
|
static_assert(entt::is_equality_comparable_v<const int>);
|
|
|
static_assert(entt::is_equality_comparable_v<std::vector<int>>);
|
|
|
@@ -165,7 +165,7 @@ TEST(TypeTraits, IsEqualityComparable) {
|
|
|
static_assert(!entt::is_equality_comparable_v<void>);
|
|
|
}
|
|
|
|
|
|
-TEST(TypeTraits, IsStdHashable) {
|
|
|
+TEST(IsStdHashable, Functionalities) {
|
|
|
static_assert(entt::is_std_hashable_v<int>);
|
|
|
static_assert(entt::is_std_hashable_v<char>);
|
|
|
static_assert(entt::is_std_hashable_v<double>);
|
|
|
@@ -174,14 +174,14 @@ TEST(TypeTraits, IsStdHashable) {
|
|
|
static_assert(!entt::is_std_hashable_v<void>);
|
|
|
}
|
|
|
|
|
|
-TEST(TypeTraits, ConstnessAs) {
|
|
|
+TEST(ConstnessAs, Functionalities) {
|
|
|
static_assert(std::is_same_v<entt::constness_as_t<int, char>, int>);
|
|
|
static_assert(std::is_same_v<entt::constness_as_t<const int, char>, int>);
|
|
|
static_assert(std::is_same_v<entt::constness_as_t<int, const char>, const int>);
|
|
|
static_assert(std::is_same_v<entt::constness_as_t<const int, const char>, const int>);
|
|
|
}
|
|
|
|
|
|
-TEST(TypeTraits, MemberClass) {
|
|
|
+TEST(MemberClass, Functionalities) {
|
|
|
struct clazz {
|
|
|
char foo(int) {
|
|
|
return {};
|
|
|
@@ -199,7 +199,7 @@ TEST(TypeTraits, MemberClass) {
|
|
|
static_assert(std::is_same_v<clazz, entt::member_class_t<decltype(&clazz::quux)>>);
|
|
|
}
|
|
|
|
|
|
-TEST(TypeTraits, Tag) {
|
|
|
+TEST(Tag, Functionalities) {
|
|
|
using namespace entt::literals;
|
|
|
static_assert(entt::tag<"foobar"_hs>::value == entt::hashed_string::value("foobar"));
|
|
|
static_assert(std::is_same_v<typename entt::tag<"foobar"_hs>::value_type, entt::id_type>);
|