From 74082720c42c5d6b06b71cefbad4b794ff1b8c3c Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Sat, 18 Jan 2025 19:59:36 +0100 Subject: Finish the hash_map --- asl/tests/hash_map_tests.cpp | 48 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 asl/tests/hash_map_tests.cpp (limited to 'asl/tests/hash_map_tests.cpp') diff --git a/asl/tests/hash_map_tests.cpp b/asl/tests/hash_map_tests.cpp new file mode 100644 index 0000000..53c419c --- /dev/null +++ b/asl/tests/hash_map_tests.cpp @@ -0,0 +1,48 @@ +#include "asl/testing/testing.hpp" +#include "asl/hash_map.hpp" + +ASL_TEST(default) +{ + asl::hash_map map; + + ASL_TEST_EXPECT(!map.contains(45)); + ASL_TEST_EXPECT(!map.contains(46)); + + map.insert(45, 5); + map.insert(46, 6); + + ASL_TEST_EXPECT(map.size() == 2); + + ASL_TEST_EXPECT(map.contains(45)); + ASL_TEST_EXPECT(map.contains(46)); + ASL_TEST_EXPECT(!map.contains(47)); + + ASL_TEST_EXPECT(*map.get(45) == 5); + ASL_TEST_EXPECT(*map.get(46) == 6); + ASL_TEST_EXPECT(map.get(47) == nullptr); + + ASL_TEST_EXPECT(map.remove(45)); + ASL_TEST_EXPECT(!map.remove(45)); + + ASL_TEST_EXPECT(map.size() == 1); + + ASL_TEST_EXPECT(!map.contains(45)); + ASL_TEST_EXPECT(map.contains(46)); + ASL_TEST_EXPECT(!map.contains(47)); + + ASL_TEST_EXPECT(map.get(45) == nullptr); + ASL_TEST_EXPECT(*map.get(46) == 6); + ASL_TEST_EXPECT(map.get(47) == nullptr); + + map.insert(46, 460); + + ASL_TEST_EXPECT(map.size() == 1); + + ASL_TEST_EXPECT(!map.contains(45)); + ASL_TEST_EXPECT(map.contains(46)); + ASL_TEST_EXPECT(!map.contains(47)); + + ASL_TEST_EXPECT(map.get(45) == nullptr); + ASL_TEST_EXPECT(*map.get(46) == 460); + ASL_TEST_EXPECT(map.get(47) == nullptr); +} -- cgit