diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-06-20 14:33:09 +1000 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-06-20 14:33:09 +1000 |
commit | 6352e8e3196f78388b6c771073f9e03eaa612673 (patch) | |
tree | e23772f79a7fbc41bc9108951e9e136857484bf4 /source/test/ordered_set_test.cpp | |
parent | 6741a057e5639280d85d0f88ba26f000baa58f61 (diff) |
everything everywhere
all at once
Diffstat (limited to 'source/test/ordered_set_test.cpp')
-rw-r--r-- | source/test/ordered_set_test.cpp | 47 |
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})); +} |