From ddab67e4e62f3675e963f1228d403daa4d59176a Mon Sep 17 00:00:00 2001 From: tatiana-yan Date: Thu, 9 Apr 2020 18:32:01 +0300 Subject: [PATCH] [generator] Remove unused code. Minor fix. --- generator/generator_tests/osm2meta_test.cpp | 13 ------- generator/generator_tests/osm_type_test.cpp | 39 +++++++++++++++++++++ generator/osm2meta.cpp | 25 ------------- generator/osm2meta.hpp | 1 - generator/osm2type.cpp | 7 +++- 5 files changed, 45 insertions(+), 40 deletions(-) diff --git a/generator/generator_tests/osm2meta_test.cpp b/generator/generator_tests/osm2meta_test.cpp index c34261717a..3e20b4f43e 100644 --- a/generator/generator_tests/osm2meta_test.cpp +++ b/generator/generator_tests/osm2meta_test.cpp @@ -2,19 +2,6 @@ #include -UNIT_TEST(ValidateAndFormat_cuisine_test) -{ - FeatureBuilderParams params; - MetadataTagProcessorImpl tagProc(params); - TEST_EQUAL(tagProc.ValidateAndFormat_cuisine(" ,ABC, CDE; FgH, "), "abc;cde;fgh", ()); - TEST_EQUAL(tagProc.ValidateAndFormat_cuisine(";;;ABc, cef,,,"), "abc;cef", ()); - TEST_EQUAL(tagProc.ValidateAndFormat_cuisine("abc bca"), "abc_bca", ()); - TEST_EQUAL(tagProc.ValidateAndFormat_cuisine("abc def gh"), "abc_def_gh", ()); - TEST_EQUAL(tagProc.ValidateAndFormat_cuisine(""), "", ()); - TEST_EQUAL(tagProc.ValidateAndFormat_cuisine(" ; , "), "", ()); - TEST_EQUAL(tagProc.ValidateAndFormat_cuisine(" Korean bbq;barbeque;grill,bbq; "), "korean_bbq;barbecue;grill", ()); -} - UNIT_TEST(ValidateAndFormat_ele) { FeatureBuilderParams params; diff --git a/generator/generator_tests/osm_type_test.cpp b/generator/generator_tests/osm_type_test.cpp index f112a8fec7..d2650b7287 100644 --- a/generator/generator_tests/osm_type_test.cpp +++ b/generator/generator_tests/osm_type_test.cpp @@ -950,6 +950,45 @@ UNIT_CLASS_TEST(TestWithClassificator, OsmType_AerodromeType) TEST(params.IsTypeExist(GetType({"aeroway", "aerodrome", "international"})), (params)); } +UNIT_CLASS_TEST(TestWithClassificator, OsmType_CuisineType) +{ + { + // Collapce synonyms to single type. + Tags const tags = { + {"cuisine", "BBQ ; barbeque, barbecue;bbq"}, + }; + + auto const params = GetFeatureBuilderParams(tags); + + TEST_EQUAL(params.m_types.size(), 1, (params)); + TEST(params.IsTypeExist(GetType({"cuisine", "barbecue"})), (params)); + } + { + // Replace space with underscore, ignore commas and semicolons. + Tags const tags = { + {"cuisine", ",; ; ; Fish and Chips;; , , ;"}, + }; + + auto const params = GetFeatureBuilderParams(tags); + + TEST_EQUAL(params.m_types.size(), 1, (params)); + TEST(params.IsTypeExist(GetType({"cuisine", "fish_and_chips"})), (params)); + } + { + // Multiple cuisines. + Tags const tags = { + {"cuisine", "Italian Pizza , mediterranean;international,"}, + }; + + auto const params = GetFeatureBuilderParams(tags); + + TEST_EQUAL(params.m_types.size(), 3, (params)); + TEST(params.IsTypeExist(GetType({"cuisine", "italian_pizza"})), (params)); + TEST(params.IsTypeExist(GetType({"cuisine", "mediterranean"})), (params)); + TEST(params.IsTypeExist(GetType({"cuisine", "international"})), (params)); + } +} + UNIT_CLASS_TEST(TestWithClassificator, OsmType_SimpleTypesSmoke) { Tags const simpleTypes = { diff --git a/generator/osm2meta.cpp b/generator/osm2meta.cpp index ee24a29433..4b9d7c2697 100644 --- a/generator/osm2meta.cpp +++ b/generator/osm2meta.cpp @@ -209,31 +209,6 @@ string MetadataTagProcessorImpl::ValidateAndFormat_denomination(string const & v return v; } -string MetadataTagProcessorImpl::ValidateAndFormat_cuisine(string v) const -{ - strings::MakeLowerCaseInplace(v); - strings::SimpleTokenizer iter(v, ",;"); - MultivalueCollector collector; - while (iter) { - string normalized = *iter; - strings::Trim(normalized, " "); - CollapseMultipleConsecutiveCharsIntoOne(' ', normalized); - replace(normalized.begin(), normalized.end(), ' ', '_'); - // Avoid duplication for some cuisines. - if (normalized == "bbq" || normalized == "barbeque") - normalized = "barbecue"; - if (normalized == "doughnut") - normalized = "donut"; - if (normalized == "steak") - normalized = "steak_house"; - if (normalized == "coffee") - normalized = "coffee_shop"; - collector(normalized); - ++iter; - } - return collector.GetString(); -} - string MetadataTagProcessorImpl::ValidateAndFormat_wikipedia(string v) const { strings::Trim(v); diff --git a/generator/osm2meta.hpp b/generator/osm2meta.hpp index 6242870951..050c9ee1cd 100644 --- a/generator/osm2meta.hpp +++ b/generator/osm2meta.hpp @@ -10,7 +10,6 @@ struct MetadataTagProcessorImpl std::string ValidateAndFormat_maxspeed(std::string const & v) const; std::string ValidateAndFormat_stars(std::string const & v) const; - std::string ValidateAndFormat_cuisine(std::string v) const; std::string ValidateAndFormat_operator(std::string const & v) const; std::string ValidateAndFormat_url(std::string const & v) const; std::string ValidateAndFormat_phone(std::string const & v) const; diff --git a/generator/osm2type.cpp b/generator/osm2type.cpp index 2f48721b56..f2bf1dd028 100644 --- a/generator/osm2type.cpp +++ b/generator/osm2type.cpp @@ -540,7 +540,6 @@ void PreprocessElement(OsmElement * p) value = "specified"; }); - // todo(@t.yan): remove this code from osm2meta.cpp when types'll be used for cuisines translation. string const kCuisineKey = "cuisine"; auto cuisines = p->GetTag(kCuisineKey); if (!cuisines.empty()) @@ -560,6 +559,12 @@ void PreprocessElement(OsmElement * p) collapse(' ', normalized); replace(normalized.begin(), normalized.end(), ' ', '_'); + if (normalized.empty()) + { + ++iter; + continue; + } + // Avoid duplication for some cuisines. if (normalized == "bbq" || normalized == "barbeque") normalized = "barbecue";