Explorar o código

table: test erase functions

Michele Caini hai 1 ano
pai
achega
97a50c23a9
Modificáronse 1 ficheiros con 31 adicións e 0 borrados
  1. 31 0
      test/entt/entity/table.cpp

+ 31 - 0
test/entt/entity/table.cpp

@@ -377,6 +377,37 @@ TEST(Table, Emplace) {
     ASSERT_EQ(table.emplace(3, 'c'), std::make_tuple(3, 'c'));
     ASSERT_EQ(table.emplace(3, 'c'), std::make_tuple(3, 'c'));
 }
 }
 
 
+TEST(Table, Erase) {
+    entt::table<int, char> table;
+
+    table.emplace(3, 'c');
+    table.emplace(0, '\0');
+    table.erase(table.begin());
+
+    ASSERT_EQ(table.size(), 1u);
+    ASSERT_EQ(table[0u], std::make_tuple(0, '\0'));
+
+    table.emplace(3, 'c');
+    table.erase(1u);
+
+    ASSERT_EQ(table.size(), 1u);
+    ASSERT_EQ(table[0u], std::make_tuple(0, '\0'));
+
+    table.erase(0u);
+
+    ASSERT_EQ(table.size(), 0u);
+}
+
+TEST(TableDeathTest, Erase) {
+    entt::table<int, char> table;
+
+    ASSERT_DEATH(table.erase(0u), "");
+
+    table.emplace(3, 'c');
+
+    ASSERT_DEATH(table.erase(1u), "");
+}
+
 TEST(Table, Indexing) {
 TEST(Table, Indexing) {
     entt::table<int, char> table;
     entt::table<int, char> table;