diff --git a/src/Collections/Dictionary.cpp b/src/Collections/Dictionary.cpp deleted file mode 100644 index c86535c..0000000 --- a/src/Collections/Dictionary.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "Dictionary.hpp" diff --git a/src/Collections/Dictionary.hpp b/src/Collections/Dictionary.hpp index 44a25d4..a0e70cf 100644 --- a/src/Collections/Dictionary.hpp +++ b/src/Collections/Dictionary.hpp @@ -10,9 +10,9 @@ namespace Arbutils::Collections { using iterator = typename std::unordered_map, std::equal_to, std::allocator>>::iterator; - public: explicit Dictionary(size_t capacity) : _map(capacity) {} + explicit Dictionary(const std::initializer_list>& l) : _map(l){} inline void Insert(KeyT key, ValueT value) { auto v = _map.insert({key, value}); diff --git a/tests/DictionaryTests.cpp b/tests/DictionaryTests.cpp index 7b26edb..72080f3 100644 --- a/tests/DictionaryTests.cpp +++ b/tests/DictionaryTests.cpp @@ -10,6 +10,14 @@ TEST_CASE("Create Dictionary, insert values", "[Utilities]") { dic.Insert(9, 2000); } +TEST_CASE("Create Dictionary with initializer list", "[Utilities]") { + auto dic = Dictionary({{5, 100}, {10, 200}, {50, 2}}); + + CHECK(dic.Get(5) == 100); + CHECK(dic.Get(10) == 200); + CHECK(dic.Get(50) == 2); +} + TEST_CASE("Create Dictionary, insert values, get values", "[Utilities]") { auto dic = Dictionary(5); dic.Insert(10, 5); @@ -80,7 +88,7 @@ TEST_CASE("Create Dictionary, insert values, iterate over keys", "[Utilities]") dic.Insert(9, 2000); size_t i = 0; - for (auto val: dic){ + for (auto val : dic) { CHECK(dic.Has(val.first)); i++; } @@ -94,12 +102,11 @@ TEST_CASE("Create Dictionary with different types, insert values, iterate over k dic.Insert(9, 105); size_t i = 0; - for (auto val: dic){ + for (auto val : dic) { CHECK(dic.Has(val.first)); i++; } CHECK(i == 3); } - #endif \ No newline at end of file