Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/search
diff options
context:
space:
mode:
authortatiana-yan <tatiana.kondakova@gmail.com>2019-04-23 14:06:13 +0300
committermpimenov <mpimenov@users.noreply.github.com>2019-04-23 18:16:01 +0300
commite77592b68e345c8cec11324be0c03c1b5a8df6bb (patch)
treeacfcf781e18b015aad3956f0b8e1631a3d28cb40 /search
parent980d407d507ffb4f0ca4c267e74fde324356d00b (diff)
[search] Add RemoveDauplicatingStreets test.
Diffstat (limited to 'search')
-rw-r--r--search/search_integration_tests/processor_test.cpp24
-rw-r--r--search/search_tests_support/helpers.cpp7
-rw-r--r--search/search_tests_support/helpers.hpp2
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");