diff options
author | tatiana-yan <tatiana.kondakova@gmail.com> | 2019-04-23 14:06:13 +0300 |
---|---|---|
committer | mpimenov <mpimenov@users.noreply.github.com> | 2019-04-23 18:16:01 +0300 |
commit | e77592b68e345c8cec11324be0c03c1b5a8df6bb (patch) | |
tree | acfcf781e18b015aad3956f0b8e1631a3d28cb40 /search | |
parent | 980d407d507ffb4f0ca4c267e74fde324356d00b (diff) |
[search] Add RemoveDauplicatingStreets test.
Diffstat (limited to 'search')
-rw-r--r-- | search/search_integration_tests/processor_test.cpp | 24 | ||||
-rw-r--r-- | search/search_tests_support/helpers.cpp | 7 | ||||
-rw-r--r-- | search/search_tests_support/helpers.hpp | 2 |
3 files changed, 33 insertions, 0 deletions
diff --git a/search/search_integration_tests/processor_test.cpp b/search/search_integration_tests/processor_test.cpp index a2f64e1b63..a2a139f642 100644 --- a/search/search_integration_tests/processor_test.cpp +++ b/search/search_integration_tests/processor_test.cpp @@ -1837,5 +1837,29 @@ UNIT_CLASS_TEST(ProcessorTest, StreetNameLocaleTest) TEST(ResultsMatch("default 3", rules), ()); } } + +UNIT_CLASS_TEST(ProcessorTest, RemoveDuplicatingStreets) +{ + string const countryName = "Wonderland"; + string const streetName = "Октябрьский проспект"; + + // Distance between centers should be less than 5km. + TestStreet street1(vector<m2::PointD>{m2::PointD(0.0, 0.0), m2::PointD(0.0, 0.01)}, + streetName, "ru"); + street1.SetHighwayType("primary"); + TestStreet street2(vector<m2::PointD>{m2::PointD(0.0, 0.01), m2::PointD(0.0, 0.02)}, + streetName, "ru"); + street1.SetHighwayType("secondary"); + + auto wonderlandId = BuildCountry(countryName, [&](TestMwmBuilder & builder) { + builder.Add(street1); + builder.Add(street2); + }); + + SetViewport(m2::RectD(-1, -1, 1, 1)); + { + TEST_EQUAL(GetResultsNumber(streetName, "ru"), 1, ()); + } +} } // namespace } // namespace search diff --git a/search/search_tests_support/helpers.cpp b/search/search_tests_support/helpers.cpp index edd9861800..f0b15f14b7 100644 --- a/search/search_tests_support/helpers.cpp +++ b/search/search_tests_support/helpers.cpp @@ -64,6 +64,13 @@ bool SearchTest::ResultMatches(search::Result const & result, Rule const & rule) return tests_support::ResultMatches(m_dataSource, rule, result); } +size_t SearchTest::GetResultsNumber(string const & query, string const & locale) +{ + tests_support::TestSearchRequest request(m_engine, query, locale, Mode::Everywhere, m_viewport); + request.Run(); + return request.Results().size(); +} + unique_ptr<tests_support::TestSearchRequest> SearchTest::MakeRequest( string const & query, string const & locale /* = "en" */) { diff --git a/search/search_tests_support/helpers.hpp b/search/search_tests_support/helpers.hpp index 3ef2335b90..76d5387f2e 100644 --- a/search/search_tests_support/helpers.hpp +++ b/search/search_tests_support/helpers.hpp @@ -43,6 +43,8 @@ public: bool ResultMatches(search::Result const & result, Rule const & rule); + size_t GetResultsNumber(std::string const & query, std::string const & locale); + std::unique_ptr<tests_support::TestSearchRequest> MakeRequest(std::string const & query, std::string const & locale = "en"); |