WIP: improvements and new features

This commit is contained in:
Michele Caini
2017-08-30 13:06:30 +02:00
parent 8de75fcfab
commit af70573634
11 changed files with 562 additions and 502 deletions

46
test/tag_handler.cpp Normal file
View File

@@ -0,0 +1,46 @@
#include <gtest/gtest.h>
#include <tag_handler.hpp>
TEST(TagHandler, Functionalities) {
using TagHandler = entt::TagHandler<unsigned int, int>;
TagHandler handler;
ASSERT_TRUE(handler.empty());
ASSERT_EQ(handler.size(), 0u);
ASSERT_EQ(handler.begin(), handler.end());
ASSERT_FALSE(handler.has(0));
ASSERT_FALSE(handler.has(1));
ASSERT_EQ(handler.construct(0, 42), 42);
ASSERT_FALSE(handler.empty());
ASSERT_EQ(handler.size(), 1u);
ASSERT_NE(handler.begin(), handler.end());
ASSERT_TRUE(handler.has(0));
ASSERT_FALSE(handler.has(1));
auto begin = handler.begin();
ASSERT_EQ(*begin, 42);
ASSERT_EQ(handler.get(0), 42);
ASSERT_EQ(++begin, handler.end());
handler.destroy(0);
ASSERT_TRUE(handler.empty());
ASSERT_EQ(handler.size(), 0u);
ASSERT_EQ(handler.begin(), handler.end());
ASSERT_FALSE(handler.has(0));
ASSERT_FALSE(handler.has(1));
ASSERT_EQ(handler.construct(0, 12), 12);
handler.reset();
ASSERT_TRUE(handler.empty());
ASSERT_EQ(handler.size(), 0u);
ASSERT_EQ(handler.begin(), handler.end());
ASSERT_FALSE(handler.has(0));
ASSERT_FALSE(handler.has(1));
}