From 0ee5725793f62e6b0386b66d21aee5eebfd7be13 Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Wed, 15 Jan 2025 23:50:56 +0100 Subject: Add copy & move for hash_set --- asl/tests/hash_set_tests.cpp | 49 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'asl/tests/hash_set_tests.cpp') diff --git a/asl/tests/hash_set_tests.cpp b/asl/tests/hash_set_tests.cpp index 9df9463..56cb07a 100644 --- a/asl/tests/hash_set_tests.cpp +++ b/asl/tests/hash_set_tests.cpp @@ -134,3 +134,52 @@ ASL_TEST(destructor_and_remove) } } +ASL_TEST(copy) +{ + asl::hash_set set1; + + for (int i = 0; i < 100; ++i) + { + set1.insert(i); + } + + asl::hash_set set2 = set1; + asl::hash_set set3; + set3 = set1; + + ASL_TEST_EXPECT(set2.size() == 100); + ASL_TEST_EXPECT(set3.size() == 100); + + for (int i = 0; i < 100; ++i) + { + ASL_TEST_EXPECT(set2.contains(i)); + ASL_TEST_EXPECT(set3.contains(i)); + } +} + +ASL_TEST(move) +{ + asl::hash_set set1; + + for (int i = 0; i < 100; ++i) + { + set1.insert(i); + } + + asl::hash_set set2 = ASL_MOVE(set1); + + ASL_TEST_EXPECT(set2.size() == 100); + for (int i = 0; i < 100; ++i) + { + ASL_TEST_EXPECT(set2.contains(i)); + } + + set1 = ASL_MOVE(set2); + + ASL_TEST_EXPECT(set1.size() == 100); + for (int i = 0; i < 100; ++i) + { + ASL_TEST_EXPECT(set1.contains(i)); + } +} + -- cgit