test: use shared empty type

This commit is contained in:
Michele Caini
2023-11-06 08:51:56 +01:00
parent 16d55c9f59
commit 1dbe025d36

View File

@@ -13,10 +13,9 @@
#include <entt/meta/meta.hpp>
#include <entt/meta/resolve.hpp>
#include "../common/config.h"
#include "../common/empty.h"
#include "../common/non_default_constructible.h"
struct invalid {};
TEST(MetaContainer, Invalid) {
ASSERT_FALSE(entt::meta_any{42}.as_sequence_container());
ASSERT_FALSE(entt::meta_any{42}.as_associative_container());
@@ -90,7 +89,7 @@ TEST(SequenceContainer, StdVector) {
auto ret = view.insert(it, 0);
ASSERT_TRUE(ret);
ASSERT_FALSE(view.insert(ret, invalid{}));
ASSERT_FALSE(view.insert(ret, test::empty{}));
ASSERT_TRUE(view.insert(++ret, 1.));
ASSERT_EQ(view.size(), 5u);
@@ -150,7 +149,7 @@ TEST(SequenceContainer, StdVectorBool) {
auto ret = view.insert(it, true);
ASSERT_TRUE(ret);
ASSERT_FALSE(view.insert(ret, invalid{}));
ASSERT_FALSE(view.insert(ret, test::empty{}));
ASSERT_TRUE(view.insert(++ret, false));
ASSERT_EQ(view.size(), 5u);
@@ -236,7 +235,7 @@ TEST(SequenceContainer, StdList) {
auto ret = view.insert(it, 0);
ASSERT_TRUE(ret);
ASSERT_FALSE(view.insert(ret, invalid{}));
ASSERT_FALSE(view.insert(ret, test::empty{}));
ASSERT_TRUE(view.insert(++ret, 1.));
ASSERT_EQ(view.size(), 5u);
@@ -291,7 +290,7 @@ TEST(SequenceContainer, StdDeque) {
auto ret = view.insert(it, 0);
ASSERT_TRUE(ret);
ASSERT_FALSE(view.insert(ret, invalid{}));
ASSERT_FALSE(view.insert(ret, test::empty{}));
ASSERT_TRUE(view.insert(++ret, 1.));
ASSERT_EQ(view.size(), 5u);
@@ -462,8 +461,8 @@ TEST(AssociativeContainer, StdMap) {
ASSERT_EQ(view.find(3)->second.cast<char>(), 'd');
ASSERT_FALSE(view.insert(invalid{}, 'a'));
ASSERT_FALSE(view.insert(1, invalid{}));
ASSERT_FALSE(view.insert(test::empty{}, 'a'));
ASSERT_FALSE(view.insert(1, test::empty{}));
ASSERT_TRUE(view.insert(0, 'a'));
ASSERT_TRUE(view.insert(1., static_cast<int>('b')));
@@ -472,8 +471,8 @@ TEST(AssociativeContainer, StdMap) {
ASSERT_EQ(view.find(0)->second.cast<char>(), 'a');
ASSERT_EQ(view.find(1.)->second.cast<char>(), 'b');
ASSERT_EQ(view.erase(invalid{}), 0u);
ASSERT_FALSE(view.find(invalid{}));
ASSERT_EQ(view.erase(test::empty{}), 0u);
ASSERT_FALSE(view.find(test::empty{}));
ASSERT_EQ(view.size(), 5u);
ASSERT_EQ(view.erase(0), 1u);
@@ -506,7 +505,7 @@ TEST(AssociativeContainer, StdSet) {
ASSERT_EQ(view.find(3)->first.cast<int>(), 3);
ASSERT_FALSE(view.insert(invalid{}));
ASSERT_FALSE(view.insert(test::empty{}));
ASSERT_TRUE(view.insert(.0));
ASSERT_TRUE(view.insert(1));
@@ -515,8 +514,8 @@ TEST(AssociativeContainer, StdSet) {
ASSERT_EQ(view.find(0)->first.cast<int>(), 0);
ASSERT_EQ(view.find(1.)->first.cast<int>(), 1);
ASSERT_EQ(view.erase(invalid{}), 0u);
ASSERT_FALSE(view.find(invalid{}));
ASSERT_EQ(view.erase(test::empty{}), 0u);
ASSERT_FALSE(view.find(test::empty{}));
ASSERT_EQ(view.size(), 5u);
ASSERT_EQ(view.erase(0), 1u);
@@ -553,8 +552,8 @@ TEST(AssociativeContainer, DenseMap) {
ASSERT_EQ(view.find(3)->second.cast<char>(), 'd');
ASSERT_FALSE(view.insert(invalid{}, 'a'));
ASSERT_FALSE(view.insert(1, invalid{}));
ASSERT_FALSE(view.insert(test::empty{}, 'a'));
ASSERT_FALSE(view.insert(1, test::empty{}));
ASSERT_TRUE(view.insert(0, 'a'));
ASSERT_TRUE(view.insert(1., static_cast<int>('b')));
@@ -563,8 +562,8 @@ TEST(AssociativeContainer, DenseMap) {
ASSERT_EQ(view.find(0)->second.cast<char>(), 'a');
ASSERT_EQ(view.find(1.)->second.cast<char>(), 'b');
ASSERT_EQ(view.erase(invalid{}), 0u);
ASSERT_FALSE(view.find(invalid{}));
ASSERT_EQ(view.erase(test::empty{}), 0u);
ASSERT_FALSE(view.find(test::empty{}));
ASSERT_EQ(view.size(), 5u);
ASSERT_EQ(view.erase(0), 1u);
@@ -601,7 +600,7 @@ TEST(AssociativeContainer, DenseSet) {
ASSERT_EQ(view.find(3)->first.cast<int>(), 3);
ASSERT_FALSE(view.insert(invalid{}));
ASSERT_FALSE(view.insert(test::empty{}));
ASSERT_TRUE(view.insert(.0));
ASSERT_TRUE(view.insert(1));
@@ -610,8 +609,8 @@ TEST(AssociativeContainer, DenseSet) {
ASSERT_EQ(view.find(0)->first.cast<int>(), 0);
ASSERT_EQ(view.find(1.)->first.cast<int>(), 1);
ASSERT_EQ(view.erase(invalid{}), 0u);
ASSERT_FALSE(view.find(invalid{}));
ASSERT_EQ(view.erase(test::empty{}), 0u);
ASSERT_FALSE(view.find(test::empty{}));
ASSERT_EQ(view.size(), 5u);
ASSERT_EQ(view.erase(0), 1u);