diff options
author | r.kuznetsov <r.kuznetsov@corp.mail.ru> | 2018-06-19 14:22:31 +0300 |
---|---|---|
committer | Arsentiy Milchakov <milcars@mapswithme.com> | 2018-06-19 15:10:59 +0300 |
commit | 8f26473d158404875e68807162a2db0a8876419d (patch) | |
tree | 3283254b6f2cffc07f6049078ef9a22c0550f89b /partners_api | |
parent | d60e738a409fa4a61307b84c8c0c6d41fc9ebf7e (diff) |
Added Megafon countries checker
Diffstat (limited to 'partners_api')
-rw-r--r-- | partners_api/CMakeLists.txt | 2 | ||||
-rw-r--r-- | partners_api/megafon_countries.cpp | 65 | ||||
-rw-r--r-- | partners_api/megafon_countries.hpp | 10 | ||||
-rw-r--r-- | partners_api/partners_api_tests/CMakeLists.txt | 4 | ||||
-rw-r--r-- | partners_api/partners_api_tests/megafon_countries_tests.cpp | 15 |
5 files changed, 96 insertions, 0 deletions
diff --git a/partners_api/CMakeLists.txt b/partners_api/CMakeLists.txt index b7bfef5b89..b8a474c7f3 100644 --- a/partners_api/CMakeLists.txt +++ b/partners_api/CMakeLists.txt @@ -22,6 +22,8 @@ set( locals_api.hpp maxim_api.cpp maxim_api.hpp + megafon_countries.cpp + megafon_countries.hpp mopub_ads.cpp mopub_ads.hpp opentable_api.cpp diff --git a/partners_api/megafon_countries.cpp b/partners_api/megafon_countries.cpp new file mode 100644 index 0000000000..63d75e0980 --- /dev/null +++ b/partners_api/megafon_countries.cpp @@ -0,0 +1,65 @@ +#include "partners_api/megafon_countries.hpp" + +#include <algorithm> + +namespace ads +{ +namespace +{ +storage::TCountriesVec const kCountries = { + "Armenia", + "Austria", + "Belarus", + "Bulgaria", + "Croatia", + "Cyprus", + "Czech", + "Czech Republic", + "Denmark", + "Egypt", + "Estonia", + "Finland", + "France", + "Germany", + "Gibraltar", + "Greece", + "Hungary", + "Iceland", + "Israel", + "Italy", + "Kazakhstan", + "Kyrgyzstan", + "Latvia", + "Lithuania", + "Malta", + "Montenegro", + "Netherlands", + "Norway", + "Poland", + "Portugal", + "Romania", + "Saudi Arabia", + "South Korea", + "Spain", + "Sweden", + "Switzerland", + "Thailand", + "Tunisia", + "Turkey", + "Ukraine", + "United Arab Emirates", +}; +} // namespace + +bool HasMegafonDownloaderBanner(storage::Storage const & storage, std::string const & mwmId) +{ + storage::TCountriesVec countries; + storage.GetTopmostNodesFor(mwmId, countries); + for (auto const & c : countries) + { + if (std::find(kCountries.cbegin(), kCountries.cend(), c) != kCountries.cend()) + return true; + } + return false; +} +} // namespace ads diff --git a/partners_api/megafon_countries.hpp b/partners_api/megafon_countries.hpp new file mode 100644 index 0000000000..6e77afbfd9 --- /dev/null +++ b/partners_api/megafon_countries.hpp @@ -0,0 +1,10 @@ +#pragma once + +#include "storage/storage.hpp" + +#include <string> + +namespace ads +{ +extern bool HasMegafonDownloaderBanner(storage::Storage const & storage, std::string const & mwmId); +} // namespace ads diff --git a/partners_api/partners_api_tests/CMakeLists.txt b/partners_api/partners_api_tests/CMakeLists.txt index c005e0736d..caea8e4f7d 100644 --- a/partners_api/partners_api_tests/CMakeLists.txt +++ b/partners_api/partners_api_tests/CMakeLists.txt @@ -9,6 +9,7 @@ set( facebook_tests.cpp google_tests.cpp maxim_tests.cpp + megafon_countries_tests.cpp mopub_tests.cpp rb_tests.cpp taxi_engine_tests.cpp @@ -23,9 +24,12 @@ omim_add_test(${PROJECT_NAME} ${SRC}) omim_link_libraries( ${PROJECT_NAME} partners_api + storage indexer platform editor + mwm_diff + bsdiff geometry coding base diff --git a/partners_api/partners_api_tests/megafon_countries_tests.cpp b/partners_api/partners_api_tests/megafon_countries_tests.cpp new file mode 100644 index 0000000000..bb5f28e5f1 --- /dev/null +++ b/partners_api/partners_api_tests/megafon_countries_tests.cpp @@ -0,0 +1,15 @@ +#include "testing/testing.hpp" + +#include "partners_api/megafon_countries.hpp" + +UNIT_TEST(MegafonCountriesTest_ExistedCountry) +{ + storage::Storage storage; + TEST(ads::HasMegafonDownloaderBanner(storage, "Germany_Baden-Wurttemberg_Regierungsbezirk Freiburg"), ()); +} + +UNIT_TEST(MegafonCountriesTest_NotExistedCountry) +{ + storage::Storage storage; + TEST(!ads::HasMegafonDownloaderBanner(storage, "Russia_Altai Krai"), ()); +} |