Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/test/ordered_set_test.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2023-06-20 14:33:09 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2023-06-20 14:33:09 +1000
commit6352e8e3196f78388b6c771073f9e03eaa612673 (patch)
treee23772f79a7fbc41bc9108951e9e136857484bf4 /source/test/ordered_set_test.cpp
parent6741a057e5639280d85d0f88ba26f000baa58f61 (diff)
everything everywhere
all at once
Diffstat (limited to 'source/test/ordered_set_test.cpp')
-rw-r--r--source/test/ordered_set_test.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/source/test/ordered_set_test.cpp b/source/test/ordered_set_test.cpp
new file mode 100644
index 0000000..25be9c7
--- /dev/null
+++ b/source/test/ordered_set_test.cpp
@@ -0,0 +1,47 @@
+#include "StarOrderedSet.hpp"
+
+#include "gtest/gtest.h"
+
+using namespace Star;
+
+TEST(OrderedSet, Insert) {
+ OrderedSet<int> map{5, 4};
+ map.insert(3);
+ map.insert(2);
+ map.insert(1);
+
+ EXPECT_EQ(map.values(), List<int>({5, 4, 3, 2, 1}));
+}
+
+TEST(OrderedSet, AssignClear) {
+ OrderedHashSet<int> map1{1, 2, 3};
+ OrderedHashSet<int> map2 = map1;
+ map1.clear();
+ EXPECT_EQ(map1.values(), List<int>());
+ EXPECT_EQ(map2.values(), List<int>({1, 2, 3}));
+}
+
+TEST(OrderedSet, AddReplace) {
+ OrderedHashSet<int> map;
+ EXPECT_TRUE(map.add(4));
+ EXPECT_TRUE(map.add(6));
+ EXPECT_TRUE(map.add(1));
+ EXPECT_FALSE(map.add(1));
+ EXPECT_TRUE(map.add(2));
+ EXPECT_TRUE(map.add(3));
+ EXPECT_FALSE(map.add(2));
+ EXPECT_TRUE(map.replace(4));
+ EXPECT_FALSE(map.replace(5));
+ EXPECT_FALSE(map.addBack(6));
+
+ EXPECT_EQ(map.values(), List<int>({1, 2, 3, 4, 5, 6}));
+}
+
+TEST(OrderedSet, ReverseIterate) {
+ OrderedHashSet<int> map{5, 4, 3, 2, 1};
+
+ List<int> vals;
+ for (auto i = map.rbegin(); i != map.rend(); ++i)
+ vals.append(*i);
+ EXPECT_EQ(vals, List<int>({1, 2, 3, 4, 5}));
+}