From 49e5ddddf47d7c9456cff53e006114703aaf1c48 Mon Sep 17 00:00:00 2001 From: Arsentiy Milchakov Date: Fri, 13 Mar 2020 11:38:57 +0300 Subject: [PATCH] [ads] redundancy into ads interfaces is reduced --- .../com/mapswithme/maps/UserMarkHelper.cpp | 5 ++-- .../Common/PlacePagePreviewData.mm | 5 ++-- iphone/Maps/Core/Search/MWMSearch.mm | 14 ++++++---- map/place_page_info.cpp | 10 +------ map/place_page_info.hpp | 1 - partners_api/ads_base.cpp | 21 ++++++++------ partners_api/ads_base.hpp | 21 ++++++++------ partners_api/ads_engine.cpp | 26 ----------------- partners_api/ads_engine.hpp | 4 +-- partners_api/facebook_ads.cpp | 10 +++---- partners_api/facebook_ads.hpp | 7 +++-- partners_api/google_ads.cpp | 10 +++---- partners_api/google_ads.hpp | 7 +++-- partners_api/mopub_ads.cpp | 10 +++---- partners_api/mopub_ads.hpp | 5 ++-- .../partners_api_tests/ads_engine_tests.cpp | 28 +++++-------------- .../partners_api_tests/facebook_tests.cpp | 15 +++++----- .../partners_api_tests/google_tests.cpp | 1 - .../partners_api_tests/mopub_tests.cpp | 8 +++--- partners_api/partners_api_tests/rb_tests.cpp | 4 +-- partners_api/rb_ads.hpp | 1 + 21 files changed, 91 insertions(+), 122 deletions(-) diff --git a/android/jni/com/mapswithme/maps/UserMarkHelper.cpp b/android/jni/com/mapswithme/maps/UserMarkHelper.cpp index 58e3b005e6..358489c428 100644 --- a/android/jni/com/mapswithme/maps/UserMarkHelper.cpp +++ b/android/jni/com/mapswithme/maps/UserMarkHelper.cpp @@ -234,8 +234,9 @@ jobject CreateElevationInfo(JNIEnv * env, ElevationInfo const & info) jobject CreateMapObject(JNIEnv * env, place_page::Info const & info) { jni::TScopedLocalObjectArrayRef jbanners(env, nullptr); - if (info.HasBanner()) - jbanners.reset(ToBannersArray(env, info.GetBanners())); + auto const banners = info.GetBanners(); + if (!banners.empty()) + jbanners.reset(ToBannersArray(env, banners)); jni::TScopedLocalObjectArrayRef jratings(env, ToRatingArray(env, info.GetRatingCategories())); diff --git a/iphone/CoreApi/CoreApi/PlacePageData/Common/PlacePagePreviewData.mm b/iphone/CoreApi/CoreApi/PlacePageData/Common/PlacePagePreviewData.mm index d963433bed..943e7c06a1 100644 --- a/iphone/CoreApi/CoreApi/PlacePageData/Common/PlacePagePreviewData.mm +++ b/iphone/CoreApi/CoreApi/PlacePageData/Common/PlacePagePreviewData.mm @@ -69,15 +69,16 @@ static PlacePageDataHotelType convertHotelType(std::optional 0; _isBookingPlace = rawData.GetSponsoredType() == place_page::SponsoredType::Booking; _schedule = convertOpeningHours(rawData.GetOpeningHours()); _hotelType = convertHotelType(rawData.GetHotelType()); _showUgc = rawData.ShouldShowUGC(); + auto const banners = rawData.GetBanners(); + _hasBanner = !banners.empty(); if (_hasBanner) { NSMutableArray *bannersArray = [NSMutableArray array]; - for (auto const &b : rawData.GetBanners()) { + for (auto const &b : banners) { CoreBanner *banner = [[CoreBanner alloc] initWithAdBanner:b]; [bannersArray addObject:banner]; } diff --git a/iphone/Maps/Core/Search/MWMSearch.mm b/iphone/Maps/Core/Search/MWMSearch.mm index 2d856e6011..e4c70c1135 100644 --- a/iphone/Maps/Core/Search/MWMSearch.mm +++ b/iphone/Maps/Core/Search/MWMSearch.mm @@ -247,12 +247,13 @@ booking::filter::Tasks MakeBookingFilterTasks(booking::filter::Params && availab manager->m_viewportParams.m_query = text; manager.textChanged = YES; auto const & adsEngine = GetFramework().GetAdsEngine(); + auto const banners = adsEngine.GetSearchBanners(); auto const & purchase = GetFramework().GetPurchase(); - bool const hasSubscription = purchase && !purchase->IsSubscriptionActive(SubscriptionType::RemoveAds); + bool const hasSubscription = purchase && purchase->IsSubscriptionActive(SubscriptionType::RemoveAds); - if (hasSubscription && adsEngine.HasSearchBanner()) + if (!hasSubscription && !banners.empty()) { - auto coreBanners = banner_helpers::MatchPriorityBanners(adsEngine.GetSearchBanners(), manager.lastQuery); + auto coreBanners = banner_helpers::MatchPriorityBanners(banners, manager.lastQuery); [[MWMBannersCache cache] refreshWithCoreBanners:coreBanners]; } [manager update]; @@ -386,15 +387,16 @@ booking::filter::Tasks MakeBookingFilterTasks(booking::filter::Params && availab if (resultsCount > 0) { auto const & adsEngine = GetFramework().GetAdsEngine(); + auto const banners = adsEngine.GetSearchBanners(); auto const & purchase = GetFramework().GetPurchase(); - bool const hasSubscription = purchase && !purchase->IsSubscriptionActive(SubscriptionType::RemoveAds); + bool const hasSubscription = purchase && purchase->IsSubscriptionActive(SubscriptionType::RemoveAds); - if (hasSubscription && adsEngine.HasSearchBanner()) + if (!hasSubscription && !banners.empty()) { self.banners = [[MWMSearchBanners alloc] initWithSearchIndex:itemsIndex]; __weak auto weakSelf = self; [[MWMBannersCache cache] - getWithCoreBanners:banner_helpers::MatchPriorityBanners(adsEngine.GetSearchBanners(), self.lastQuery) + getWithCoreBanners:banner_helpers::MatchPriorityBanners(banners, self.lastQuery) cacheOnly:YES loadNew:reloadBanner completion:^(id ad, BOOL isAsync) { diff --git a/map/place_page_info.cpp b/map/place_page_info.cpp index 0c5cb7c5a9..cc612015eb 100644 --- a/map/place_page_info.cpp +++ b/map/place_page_info.cpp @@ -317,17 +317,9 @@ std::optional Info::GetRawApproximatePricing() const return {}; } -bool Info::HasBanner() const -{ - if (!m_adsEngine || IsMyPosition() || IsRoadType()) - return false; - - return m_adsEngine->HasPoiBanner(m_types, m_topmostCountryIds, languages::GetCurrentNorm()); -} - std::vector Info::GetBanners() const { - if (!m_adsEngine) + if (!m_adsEngine || IsMyPosition() || IsRoadType()) return {}; return m_adsEngine->GetPoiBanners(m_types, m_topmostCountryIds, languages::GetCurrentNorm()); diff --git a/map/place_page_info.hpp b/map/place_page_info.hpp index d42c18401f..9d8d214af6 100644 --- a/map/place_page_info.hpp +++ b/map/place_page_info.hpp @@ -244,7 +244,6 @@ public: FeatureStatus GetFeatureStatus() const { return m_featureStatus; } /// Banner - bool HasBanner() const; std::vector GetBanners() const; /// Taxi diff --git a/partners_api/ads_base.cpp b/partners_api/ads_base.cpp index 2b47318d1a..2534f86327 100644 --- a/partners_api/ads_base.cpp +++ b/partners_api/ads_base.cpp @@ -37,14 +37,6 @@ void PoiContainer::AppendExcludedTypes( m_excludedTypes.Append(std::move(types)); } -bool PoiContainer::HasBanner(feature::TypesHolder const & types, - storage::CountryId const & countryId, - std::string const & userLanguage) const -{ - return (IsCountrySupported(countryId) || IsLanguageSupported(userLanguage)) && - !m_excludedTypes.Contains(types); -} - std::string PoiContainer::GetBanner(feature::TypesHolder const & types, storage::CountryId const & countryId, std::string const & userLanguage) const @@ -59,6 +51,19 @@ std::string PoiContainer::GetBanner(feature::TypesHolder const & types, return GetBannerForOtherTypes(); } +std::string PoiContainer::GetBannerForOtherTypesForTesting() const +{ + return GetBannerForOtherTypes(); +} + +bool PoiContainer::HasBanner(feature::TypesHolder const & types, + storage::CountryId const & countryId, + std::string const & userLanguage) const +{ + return (IsCountrySupported(countryId) || IsLanguageSupported(userLanguage)) && + !m_excludedTypes.Contains(types); +} + std::string PoiContainer::GetBannerForOtherTypes() const { return {}; diff --git a/partners_api/ads_base.hpp b/partners_api/ads_base.hpp index e72f0347e6..ef33040d66 100644 --- a/partners_api/ads_base.hpp +++ b/partners_api/ads_base.hpp @@ -6,6 +6,8 @@ #include "indexer/ftypes_mapping.hpp" +#include "geometry/point2d.hpp" + #include "base/macros.hpp" #include @@ -23,13 +25,13 @@ class PoiContainerBase { public: virtual ~PoiContainerBase() = default; - virtual bool HasBanner(feature::TypesHolder const & types, storage::CountryId const & countryId, - std::string const & userLanguage) const = 0; virtual std::string GetBanner(feature::TypesHolder const & types, storage::CountryId const & countryId, std::string const & userLanguage) const = 0; -protected: +private: + virtual bool HasBanner(feature::TypesHolder const & types, storage::CountryId const & countryId, + std::string const & userLanguage) const = 0; virtual std::string GetBannerForOtherTypes() const = 0; }; @@ -42,19 +44,20 @@ public: PoiContainer(); // PoiContainerBase overrides: - bool HasBanner(feature::TypesHolder const & types, storage::CountryId const & countryId, - std::string const & userLanguage) const override; std::string GetBanner(feature::TypesHolder const & types, storage::CountryId const & countryId, std::string const & userLanguage) const override; + std::string GetBannerForOtherTypesForTesting() const; protected: - std::string GetBannerForOtherTypes() const override; - void AppendEntry(std::initializer_list> && types, std::string const & id); void AppendExcludedTypes(std::initializer_list> && types); private: + bool HasBanner(feature::TypesHolder const & types, storage::CountryId const & countryId, + std::string const & userLanguage) const override; + std::string GetBannerForOtherTypes() const override; + ftypes::HashMapMatcher m_typesToBanners; ftypes::HashSetMatcher m_excludedTypes; @@ -67,9 +70,11 @@ public: SearchContainerBase() = default; virtual ~SearchContainerBase() = default; - virtual bool HasBanner() const = 0; virtual std::string GetBanner() const = 0; +private: + virtual bool HasBanner() const = 0; + DISALLOW_COPY(SearchContainerBase); }; } // namespace ads diff --git a/partners_api/ads_engine.cpp b/partners_api/ads_engine.cpp index a11b31659d..3d6011786f 100644 --- a/partners_api/ads_engine.cpp +++ b/partners_api/ads_engine.cpp @@ -17,22 +17,7 @@ Engine::Engine() m_poiBanners.emplace_back(Banner::Type::Mopub, std::make_unique()); m_searchBanners.emplace_back(Banner::Type::Facebook, std::make_unique()); -} -bool Engine::HasPoiBanner(feature::TypesHolder const & types, - storage::CountriesVec const & countryIds, - std::string const & userLanguage) const -{ - for (auto const & countryId : countryIds) - { - for (auto const & item : m_poiBanners) - { - if (item.m_enabled && item.m_container->HasBanner(types, countryId, userLanguage)) - return true; - } - } - - return false; } std::vector Engine::GetPoiBanners(feature::TypesHolder const & types, @@ -61,17 +46,6 @@ std::vector Engine::GetPoiBanners(feature::TypesHolder const & types, return result; } -bool Engine::HasSearchBanner() const -{ - for (auto const & item : m_searchBanners) - { - if (item.m_enabled && item.m_container->HasBanner()) - return true; - } - - return false; -} - std::vector Engine::GetSearchBanners() const { std::vector result; diff --git a/partners_api/ads_engine.hpp b/partners_api/ads_engine.hpp index f3466f0a0f..7fba6152e1 100644 --- a/partners_api/ads_engine.hpp +++ b/partners_api/ads_engine.hpp @@ -19,13 +19,11 @@ class Engine public: Engine(); - bool HasPoiBanner(feature::TypesHolder const & types, storage::CountriesVec const & countryIds, - std::string const & userLanguage) const; std::vector GetPoiBanners(feature::TypesHolder const & types, storage::CountriesVec const & countryIds, std::string const & userLanguage) const; - bool HasSearchBanner() const; std::vector GetSearchBanners() const; + void DisableAdProvider(Banner::Type const type, Banner::Place const place); private: diff --git a/partners_api/facebook_ads.cpp b/partners_api/facebook_ads.cpp index d72a4ec641..0643257f65 100644 --- a/partners_api/facebook_ads.cpp +++ b/partners_api/facebook_ads.cpp @@ -21,13 +21,13 @@ std::string FacebookPoi::GetBannerForOtherTypes() const return kSingleBannerIdForAllTypes; } -bool FacebookSearch::HasBanner() const -{ - return true; -} - std::string FacebookSearch::GetBanner() const { return kSearchbannerId; } + +bool FacebookSearch::HasBanner() const +{ + return true; +} } // namespace ads diff --git a/partners_api/facebook_ads.hpp b/partners_api/facebook_ads.hpp index 5672efd900..536d4ecdcd 100644 --- a/partners_api/facebook_ads.hpp +++ b/partners_api/facebook_ads.hpp @@ -7,7 +7,7 @@ namespace ads // Class which matches feature types and facebook banner ids. class FacebookPoi : public PoiContainer { -public: +private: // PoiContainerBase overrides: std::string GetBannerForOtherTypes() const override; }; @@ -16,7 +16,10 @@ class FacebookSearch : public SearchContainerBase { public: // SearchContainerBase overrides: - bool HasBanner() const override; std::string GetBanner() const override; + +private: + // SearchContainerBase overrides: + bool HasBanner() const override; }; } // namespace ads diff --git a/partners_api/google_ads.cpp b/partners_api/google_ads.cpp index caa850f6b0..0329d3780a 100644 --- a/partners_api/google_ads.cpp +++ b/partners_api/google_ads.cpp @@ -13,13 +13,13 @@ namespace namespace ads { -bool Google::HasBanner() const -{ - return true; -} - std::string Google::GetBanner() const { return kSearchbannerId; } + +bool Google::HasBanner() const +{ + return true; +} } // namespace ads diff --git a/partners_api/google_ads.hpp b/partners_api/google_ads.hpp index 92671dfb55..7126e3f644 100644 --- a/partners_api/google_ads.hpp +++ b/partners_api/google_ads.hpp @@ -8,8 +8,11 @@ namespace ads class Google : public SearchContainerBase { public: - // PoiContainerBase overrides: - bool HasBanner() const override; + // SearchContainerBase overrides: std::string GetBanner() const override; + +private: + // SearchContainerBase overrides: + bool HasBanner() const override; }; } // namespace ads diff --git a/partners_api/mopub_ads.cpp b/partners_api/mopub_ads.cpp index bde08ce46f..8aeb9c14c0 100644 --- a/partners_api/mopub_ads.cpp +++ b/partners_api/mopub_ads.cpp @@ -77,14 +77,14 @@ Mopub::Mopub() } } -std::string Mopub::GetBannerForOtherTypes() const -{ - return kNonTourismPlacementId; -} - // static std::string Mopub::InitializationBannerId() { return kSponsoredBannerPlacementId; } + +std::string Mopub::GetBannerForOtherTypes() const +{ + return kNonTourismPlacementId; +} } // namespace ads diff --git a/partners_api/mopub_ads.hpp b/partners_api/mopub_ads.hpp index df49393032..03505e06eb 100644 --- a/partners_api/mopub_ads.hpp +++ b/partners_api/mopub_ads.hpp @@ -12,9 +12,10 @@ class Mopub : public PoiContainer public: Mopub(); + static std::string InitializationBannerId(); + +private: // PoiContainerBase overrides: std::string GetBannerForOtherTypes() const override; - - static std::string InitializationBannerId(); }; } // namespace ads diff --git a/partners_api/partners_api_tests/ads_engine_tests.cpp b/partners_api/partners_api_tests/ads_engine_tests.cpp index 4f02f5c1cf..5a9efaee05 100644 --- a/partners_api/partners_api_tests/ads_engine_tests.cpp +++ b/partners_api/partners_api_tests/ads_engine_tests.cpp @@ -37,21 +37,18 @@ UNIT_TEST(AdsEngine_Smoke) { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"amenity", "dentist"})); - TEST(engine.HasPoiBanner(holder, {"Ukraine"}, "ru"), ()); auto result = engine.GetPoiBanners(holder, {"Ukraine"}, "ru"); CheckCountAndTypes(result); - CheckIds(result, {"7", mopub.GetBannerForOtherTypes()}); + CheckIds(result, {"7", mopub.GetBannerForOtherTypesForTesting()}); holder.Add(c.GetTypeByPath({"amenity", "pub"})); - TEST(engine.HasPoiBanner(holder, {"Ukraine"}, "ru"), ()); result = engine.GetPoiBanners(holder, {"Ukraine"}, "ru"); CheckCountAndTypes(result); - CheckIds(result, {"7", mopub.GetBannerForOtherTypes()}); + CheckIds(result, {"7", mopub.GetBannerForOtherTypesForTesting()}); } { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"tourism", "information", "map"})); - TEST(engine.HasPoiBanner(holder, {"Moldova"}, "ru"), ()); auto result = engine.GetPoiBanners(holder, {"Moldova"}, "ru"); CheckCountAndTypes(result); CheckIds(result, {"5", "d298f205fb8a47aaafb514d2b5b8cf55"}); @@ -59,7 +56,6 @@ UNIT_TEST(AdsEngine_Smoke) { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"shop", "ticket"})); - TEST(engine.HasPoiBanner(holder, {"Russian Federation"}, "ru"), ()); auto result = engine.GetPoiBanners(holder, {"Russian Federation"}, "ru"); CheckCountAndTypes(result); CheckIds(result, {"2", "d298f205fb8a47aaafb514d2b5b8cf55"}); @@ -67,15 +63,13 @@ UNIT_TEST(AdsEngine_Smoke) { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"amenity", "bank"})); - TEST(engine.HasPoiBanner(holder, {"Belarus"}, "ru"), ()); auto result = engine.GetPoiBanners(holder, {"Belarus"}, "ru"); CheckCountAndTypes(result); - CheckIds(result, {"8", mopub.GetBannerForOtherTypes()}); + CheckIds(result, {"8", mopub.GetBannerForOtherTypesForTesting()}); } { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"amenity", "pub"})); - TEST(engine.HasPoiBanner(holder, {"Spain", "Ukraine"}, "ru"), ()); auto result = engine.GetPoiBanners(holder, {"Spain", "Ukraine"}, "ru"); CheckCountAndTypes(result); CheckIds(result, {"1", "d298f205fb8a47aaafb514d2b5b8cf55"}); @@ -83,7 +77,6 @@ UNIT_TEST(AdsEngine_Smoke) { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"amenity", "pub"})); - TEST(engine.HasPoiBanner(holder, {"Ukraine", "Spain"}, "ru"), ()); auto result = engine.GetPoiBanners(holder, {"Ukraine", "Spain"}, "ru"); CheckCountAndTypes(result); CheckIds(result, {"1", "d298f205fb8a47aaafb514d2b5b8cf55"}); @@ -91,7 +84,6 @@ UNIT_TEST(AdsEngine_Smoke) { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"amenity", "pub"})); - TEST(engine.HasPoiBanner(holder, {"Spain"}, "en"), ()); auto result = engine.GetPoiBanners(holder, {"Spain"}, "en"); CheckIds(result, {"d298f205fb8a47aaafb514d2b5b8cf55"}); TEST_EQUAL(result[0].m_type, ads::Banner::Type::Mopub, ()); @@ -100,45 +92,39 @@ UNIT_TEST(AdsEngine_Smoke) { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"amenity", "toilets"})); - TEST(engine.HasPoiBanner(holder, {"Armenia"}, "ru"), ()); auto result = engine.GetPoiBanners(holder, {"Armenia"}, "ru"); CheckCountAndTypes(result); - CheckIds(result, {rb.GetBannerForOtherTypes(), mopub.GetBannerForOtherTypes()}); + CheckIds(result, {rb.GetBannerForOtherTypesForTesting(), mopub.GetBannerForOtherTypesForTesting()}); } { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"amenity", "toilets"})); - TEST(engine.HasPoiBanner(holder, {"Armenia", "Azerbaijan Region"}, "ru"), ()); auto result = engine.GetPoiBanners(holder, {"Armenia", "Azerbaijan Region"}, "ru"); CheckCountAndTypes(result); - CheckIds(result, {rb.GetBannerForOtherTypes(), mopub.GetBannerForOtherTypes()}); + CheckIds(result, {rb.GetBannerForOtherTypesForTesting(), mopub.GetBannerForOtherTypesForTesting()}); } { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"sponsored", "opentable"})); - TEST(engine.HasPoiBanner(holder, {"Brazil"}, "en"), ()); auto result = engine.GetPoiBanners(holder, {"Brazil"}, "en"); - CheckIds(result, {mopub.GetBannerForOtherTypes()}); + CheckIds(result, {mopub.GetBannerForOtherTypesForTesting()}); TEST_EQUAL(result[0].m_type, ads::Banner::Type::Mopub, ()); } { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"sponsored", "opentable"})); - TEST(engine.HasPoiBanner(holder, {"Brazil"}, "ru"), ()); auto result = engine.GetPoiBanners(holder, {"Brazil"}, "ru"); CheckCountAndTypes(result); - CheckIds(result, {rb.GetBannerForOtherTypes(), mopub.GetBannerForOtherTypes()}); + CheckIds(result, {rb.GetBannerForOtherTypesForTesting(), mopub.GetBannerForOtherTypesForTesting()}); } { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"sponsored", "booking"})); - TEST(!engine.HasPoiBanner(holder, {"Russian Federation"}, "ru"), ()); auto result = engine.GetPoiBanners(holder, {"Russian Federation"}, "ru"); TEST(result.empty(), ()); } ads::FacebookSearch facebook; { - TEST(engine.HasSearchBanner(), ()); auto result = engine.GetSearchBanners(); TEST_EQUAL(result.size(), 1, ()); TEST_EQUAL(result[0].m_type, ads::Banner::Type::Facebook, ()); diff --git a/partners_api/partners_api_tests/facebook_tests.cpp b/partners_api/partners_api_tests/facebook_tests.cpp index 0098bdee66..8655561634 100644 --- a/partners_api/partners_api_tests/facebook_tests.cpp +++ b/partners_api/partners_api_tests/facebook_tests.cpp @@ -11,7 +11,6 @@ namespace UNIT_TEST(Facebook_BannerInSearch) { ads::FacebookSearch facebook; - TEST(facebook.HasBanner(), ()); auto result = facebook.GetBanner(); TEST_EQUAL(result, "dummy", ()); } @@ -24,35 +23,35 @@ UNIT_TEST(Facebook_GetBanner) { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"amenity", "dentist"})); - TEST_EQUAL(facebook.GetBanner(holder, "Brazil", "ru"), facebook.GetBannerForOtherTypes(), ()); + TEST_EQUAL(facebook.GetBanner(holder, "Brazil", "ru"), facebook.GetBannerForOtherTypesForTesting(), ()); holder.Add(c.GetTypeByPath({"amenity", "pub"})); - TEST_EQUAL(facebook.GetBanner(holder, "Cuba", "ru"), facebook.GetBannerForOtherTypes(), ()); + TEST_EQUAL(facebook.GetBanner(holder, "Cuba", "ru"), facebook.GetBannerForOtherTypesForTesting(), ()); } { feature::TypesHolder holder; holder.Add(c.GetTypeByPath({"amenity", "restaurant"})); - TEST_EQUAL(facebook.GetBanner(holder, "Any country", "ru"), facebook.GetBannerForOtherTypes(), ()); + TEST_EQUAL(facebook.GetBanner(holder, "Any country", "ru"), facebook.GetBannerForOtherTypesForTesting(), ()); } { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"tourism", "information", "map"})); - TEST_EQUAL(facebook.GetBanner(holder, "Russia", "ru"), facebook.GetBannerForOtherTypes(), ()); + TEST_EQUAL(facebook.GetBanner(holder, "Russia", "ru"), facebook.GetBannerForOtherTypesForTesting(), ()); } { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"shop", "ticket"})); - TEST_EQUAL(facebook.GetBanner(holder, "USA", "ru"), facebook.GetBannerForOtherTypes(), ()); + TEST_EQUAL(facebook.GetBanner(holder, "USA", "ru"), facebook.GetBannerForOtherTypesForTesting(), ()); } { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"amenity", "toilets"})); - auto const bannerId = facebook.GetBannerForOtherTypes(); + auto const bannerId = facebook.GetBannerForOtherTypesForTesting(); TEST_EQUAL(facebook.GetBanner(holder, "Spain", "ru"), bannerId, ()); } { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"sponsored", "opentable"})); - auto const bannerId = facebook.GetBannerForOtherTypes(); + auto const bannerId = facebook.GetBannerForOtherTypesForTesting(); TEST_EQUAL(facebook.GetBanner(holder, "Denmark", "ru"), bannerId, ()); } { diff --git a/partners_api/partners_api_tests/google_tests.cpp b/partners_api/partners_api_tests/google_tests.cpp index ce6942248b..7d685b8f9c 100644 --- a/partners_api/partners_api_tests/google_tests.cpp +++ b/partners_api/partners_api_tests/google_tests.cpp @@ -5,7 +5,6 @@ UNIT_TEST(Google_BannerInSearch) { ads::Google google; - TEST(google.HasBanner(), ()); auto result = google.GetBanner(); TEST_EQUAL(result, "dummy", ()); } diff --git a/partners_api/partners_api_tests/mopub_tests.cpp b/partners_api/partners_api_tests/mopub_tests.cpp index 7011006906..c84b24aa87 100644 --- a/partners_api/partners_api_tests/mopub_tests.cpp +++ b/partners_api/partners_api_tests/mopub_tests.cpp @@ -16,9 +16,9 @@ UNIT_TEST(Mopub_GetBanner) { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"amenity", "dentist"})); - TEST_EQUAL(mopub.GetBanner(holder, "Brazil", "ru"), mopub.GetBannerForOtherTypes(), ()); + TEST_EQUAL(mopub.GetBanner(holder, "Brazil", "ru"), mopub.GetBannerForOtherTypesForTesting(), ()); holder.Add(c.GetTypeByPath({"amenity", "pub"})); - TEST_EQUAL(mopub.GetBanner(holder, "Cuba", "ru"), mopub.GetBannerForOtherTypes(), ()); + TEST_EQUAL(mopub.GetBanner(holder, "Cuba", "ru"), mopub.GetBannerForOtherTypesForTesting(), ()); } { feature::TypesHolder holder; @@ -48,12 +48,12 @@ UNIT_TEST(Mopub_GetBanner) { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"amenity", "toilets"})); - TEST_EQUAL(mopub.GetBanner(holder, "Spain", "ru"), mopub.GetBannerForOtherTypes(), ()); + TEST_EQUAL(mopub.GetBanner(holder, "Spain", "ru"), mopub.GetBannerForOtherTypesForTesting(), ()); } { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"sponsored", "opentable"})); - TEST_EQUAL(mopub.GetBanner(holder, "Denmark", "ru"), mopub.GetBannerForOtherTypes(), ()); + TEST_EQUAL(mopub.GetBanner(holder, "Denmark", "ru"), mopub.GetBannerForOtherTypesForTesting(), ()); } { feature::TypesHolder holder; diff --git a/partners_api/partners_api_tests/rb_tests.cpp b/partners_api/partners_api_tests/rb_tests.cpp index 65e7c3af04..9933a5be85 100644 --- a/partners_api/partners_api_tests/rb_tests.cpp +++ b/partners_api/partners_api_tests/rb_tests.cpp @@ -58,13 +58,13 @@ UNIT_TEST(Rb_GetBanner) { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"amenity", "toilets"})); - auto const bannerId = rb.GetBannerForOtherTypes(); + auto const bannerId = rb.GetBannerForOtherTypesForTesting(); TEST_EQUAL(rb.GetBanner(holder, "Russian Federation", "ru"), bannerId, ()); } { feature::TypesHolder holder; holder.Assign(c.GetTypeByPath({"sponsored", "opentable"})); - auto const bannerId = rb.GetBannerForOtherTypes(); + auto const bannerId = rb.GetBannerForOtherTypesForTesting(); TEST_EQUAL(rb.GetBanner(holder, "Russian Federation", "ru"), bannerId, ()); } { diff --git a/partners_api/rb_ads.hpp b/partners_api/rb_ads.hpp index 307fec3d17..5f13e76a54 100644 --- a/partners_api/rb_ads.hpp +++ b/partners_api/rb_ads.hpp @@ -10,6 +10,7 @@ class Rb : public PoiContainer public: Rb(); +private: // PoiContainerBase overrides: std::string GetBannerForOtherTypes() const override; };