Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'tests/gtests/blenlib/BLI_map_test.cc')
-rw-r--r--tests/gtests/blenlib/BLI_map_test.cc93
1 files changed, 57 insertions, 36 deletions
diff --git a/tests/gtests/blenlib/BLI_map_test.cc b/tests/gtests/blenlib/BLI_map_test.cc
index 96e9879abe7..3b72795d36f 100644
--- a/tests/gtests/blenlib/BLI_map_test.cc
+++ b/tests/gtests/blenlib/BLI_map_test.cc
@@ -6,25 +6,25 @@
#include "BLI_vector.hh"
#include "testing/testing.h"
-using namespace blender;
+namespace blender {
TEST(map, DefaultConstructor)
{
Map<int, float> map;
- EXPECT_EQ(map.size(), 0);
+ EXPECT_EQ(map.size(), 0u);
EXPECT_TRUE(map.is_empty());
}
TEST(map, AddIncreasesSize)
{
Map<int, float> map;
- EXPECT_EQ(map.size(), 0);
+ EXPECT_EQ(map.size(), 0u);
EXPECT_TRUE(map.is_empty());
map.add(2, 5.0f);
- EXPECT_EQ(map.size(), 1);
+ EXPECT_EQ(map.size(), 1u);
EXPECT_FALSE(map.is_empty());
map.add(6, 2.0f);
- EXPECT_EQ(map.size(), 2);
+ EXPECT_EQ(map.size(), 2u);
EXPECT_FALSE(map.is_empty());
}
@@ -87,16 +87,16 @@ TEST(map, PopTry)
Map<int, int> map;
map.add(1, 5);
map.add(2, 7);
- EXPECT_EQ(map.size(), 2);
- Optional<int> value = map.pop_try(4);
- EXPECT_EQ(map.size(), 2);
+ EXPECT_EQ(map.size(), 2u);
+ std::optional<int> value = map.pop_try(4);
+ EXPECT_EQ(map.size(), 2u);
EXPECT_FALSE(value.has_value());
value = map.pop_try(2);
- EXPECT_EQ(map.size(), 1);
+ EXPECT_EQ(map.size(), 1u);
EXPECT_TRUE(value.has_value());
- EXPECT_EQ(value.value(), 7);
+ EXPECT_EQ(*value, 7);
EXPECT_EQ(*map.pop_try(1), 5);
- EXPECT_EQ(map.size(), 0);
+ EXPECT_EQ(map.size(), 0u);
}
TEST(map, PopDefault)
@@ -105,17 +105,17 @@ TEST(map, PopDefault)
map.add(1, 4);
map.add(2, 7);
map.add(3, 8);
- EXPECT_EQ(map.size(), 3);
+ EXPECT_EQ(map.size(), 3u);
EXPECT_EQ(map.pop_default(4, 10), 10);
- EXPECT_EQ(map.size(), 3);
+ EXPECT_EQ(map.size(), 3u);
EXPECT_EQ(map.pop_default(1, 10), 4);
- EXPECT_EQ(map.size(), 2);
+ EXPECT_EQ(map.size(), 2u);
EXPECT_EQ(map.pop_default(2, 20), 7);
- EXPECT_EQ(map.size(), 1);
+ EXPECT_EQ(map.size(), 1u);
EXPECT_EQ(map.pop_default(2, 20), 20);
- EXPECT_EQ(map.size(), 1);
+ EXPECT_EQ(map.size(), 1u);
EXPECT_EQ(map.pop_default(3, 0), 8);
- EXPECT_EQ(map.size(), 0);
+ EXPECT_EQ(map.size(), 0u);
}
TEST(map, PopItemMany)
@@ -147,7 +147,7 @@ TEST(map, ValueIterator)
iterations++;
}
- EXPECT_EQ(iterations, 3);
+ EXPECT_EQ(iterations, 3u);
EXPECT_TRUE(values.contains(5.0f));
EXPECT_TRUE(values.contains(-2.0f));
EXPECT_TRUE(values.contains(2.0f));
@@ -168,7 +168,7 @@ TEST(map, KeyIterator)
iterations++;
}
- EXPECT_EQ(iterations, 3);
+ EXPECT_EQ(iterations, 3u);
EXPECT_TRUE(keys.contains(1));
EXPECT_TRUE(keys.contains(2));
EXPECT_TRUE(keys.contains(6));
@@ -192,7 +192,7 @@ TEST(map, ItemIterator)
iterations++;
}
- EXPECT_EQ(iterations, 3);
+ EXPECT_EQ(iterations, 3u);
EXPECT_TRUE(keys.contains(5));
EXPECT_TRUE(keys.contains(2));
EXPECT_TRUE(keys.contains(1));
@@ -241,8 +241,8 @@ TEST(map, MutableItemToItemConversion)
values.append(item.value);
}
- EXPECT_EQ(keys.size(), 2);
- EXPECT_EQ(values.size(), 2);
+ EXPECT_EQ(keys.size(), 2u);
+ EXPECT_EQ(values.size(), 2u);
EXPECT_TRUE(keys.contains(3));
EXPECT_TRUE(keys.contains(2));
EXPECT_TRUE(values.contains(6));
@@ -330,10 +330,10 @@ TEST(map, MoveConstructorSmall)
map1.add(1, 2.0f);
map1.add(4, 1.0f);
Map<int, float> map2(std::move(map1));
- EXPECT_EQ(map2.size(), 2);
+ EXPECT_EQ(map2.size(), 2u);
EXPECT_EQ(map2.lookup(1), 2.0f);
EXPECT_EQ(map2.lookup(4), 1.0f);
- EXPECT_EQ(map1.size(), 0);
+ EXPECT_EQ(map1.size(), 0u);
EXPECT_EQ(map1.lookup_ptr(4), nullptr);
}
@@ -344,10 +344,10 @@ TEST(map, MoveConstructorLarge)
map1.add_new(i, i);
}
Map<int, int> map2(std::move(map1));
- EXPECT_EQ(map2.size(), 100);
+ EXPECT_EQ(map2.size(), 100u);
EXPECT_EQ(map2.lookup(1), 1);
EXPECT_EQ(map2.lookup(4), 4);
- EXPECT_EQ(map1.size(), 0);
+ EXPECT_EQ(map1.size(), 0u);
EXPECT_EQ(map1.lookup_ptr(4), nullptr);
}
@@ -358,10 +358,10 @@ TEST(map, MoveAssignment)
map1.add(4, 1.0f);
Map<int, float> map2;
map2 = std::move(map1);
- EXPECT_EQ(map2.size(), 2);
+ EXPECT_EQ(map2.size(), 2u);
EXPECT_EQ(map2.lookup(1), 2.0f);
EXPECT_EQ(map2.lookup(4), 1.0f);
- EXPECT_EQ(map1.size(), 0);
+ EXPECT_EQ(map1.size(), 0u);
EXPECT_EQ(map1.lookup_ptr(4), nullptr);
}
@@ -372,10 +372,10 @@ TEST(map, CopyAssignment)
map1.add(4, 1.0f);
Map<int, float> map2;
map2 = map1;
- EXPECT_EQ(map2.size(), 2);
+ EXPECT_EQ(map2.size(), 2u);
EXPECT_EQ(map2.lookup(1), 2.0f);
EXPECT_EQ(map2.lookup(4), 1.0f);
- EXPECT_EQ(map1.size(), 2);
+ EXPECT_EQ(map1.size(), 2u);
EXPECT_EQ(*map1.lookup_ptr(4), 1.0f);
}
@@ -385,13 +385,13 @@ TEST(map, Clear)
map.add(1, 1.0f);
map.add(2, 5.0f);
- EXPECT_EQ(map.size(), 2);
+ EXPECT_EQ(map.size(), 2u);
EXPECT_TRUE(map.contains(1));
EXPECT_TRUE(map.contains(2));
map.clear();
- EXPECT_EQ(map.size(), 0);
+ EXPECT_EQ(map.size(), 0u);
EXPECT_FALSE(map.contains(1));
EXPECT_FALSE(map.contains(2));
}
@@ -423,11 +423,11 @@ TEST(map, Remove)
{
Map<int, int> map;
map.add(2, 4);
- EXPECT_EQ(map.size(), 1);
+ EXPECT_EQ(map.size(), 1u);
EXPECT_FALSE(map.remove(3));
- EXPECT_EQ(map.size(), 1);
+ EXPECT_EQ(map.size(), 1u);
EXPECT_TRUE(map.remove(2));
- EXPECT_EQ(map.size(), 0);
+ EXPECT_EQ(map.size(), 0u);
}
TEST(map, PointerKeys)
@@ -439,7 +439,7 @@ TEST(map, PointerKeys)
EXPECT_FALSE(map.add(&a, 4));
map.add_new(&b, 1);
map.add_new(&c, 1);
- EXPECT_EQ(map.size(), 3);
+ EXPECT_EQ(map.size(), 3u);
EXPECT_TRUE(map.remove(&b));
EXPECT_TRUE(map.add(&b, 8));
EXPECT_FALSE(map.remove(&d));
@@ -458,6 +458,25 @@ TEST(map, ConstKeysAndValues)
EXPECT_FALSE(map.contains("54"));
}
+TEST(map, ForeachItem)
+{
+ Map<int, int> map;
+ map.add(3, 4);
+ map.add(1, 8);
+
+ Vector<int> keys;
+ Vector<int> values;
+ map.foreach_item([&](int key, int value) {
+ keys.append(key);
+ values.append(value);
+ });
+
+ EXPECT_EQ(keys.size(), 2u);
+ EXPECT_EQ(values.size(), 2u);
+ EXPECT_EQ(keys.first_index_of(3), values.first_index_of(4));
+ EXPECT_EQ(keys.first_index_of(1), values.first_index_of(8));
+}
+
/**
* Set this to 1 to activate the benchmark. It is disabled by default, because it prints a lot.
*/
@@ -565,3 +584,5 @@ TEST(map, Benchmark)
*/
#endif /* Benchmark */
+
+} // namespace blender