/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ #include #include #include #include #include #include "Data/Containers/BinSearchArrayMap.hpp" #include "Data/Containers/StableVector.hpp" using namespace OpenVulkano; TEST_CASE("BinSearchArrayMap") { std::vector> data; data.push_back(std::make_pair(1, "One")); data.push_back(std::make_pair(2, "Two")); data.push_back(std::make_pair(6, "Three")); data.push_back(std::make_pair(8, "Four")); data.push_back(std::make_pair(10, "Five")); auto wtf = std::lower_bound(data.begin(), data.end(), 10, [](const auto& pair, const int& key) { return pair.first < key; }); auto test = *wtf; REQUIRE(test.first == 10); REQUIRE(test.second == "Five"); BinSearchArrayMap map; map.Insert(1, "One"); map.Insert(2, "Two"); map.Insert(6, "Three"); map.Insert(8, "Four"); map.Insert(10, "Five"); REQUIRE(map[6] == "Three"); REQUIRE(map[10] == "Five"); }