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
diff options
context:
space:
mode:
authorArsentiy Milchakov <milcars@mapswithme.com>2016-09-28 20:49:42 +0300
committerArsentiy Milchakov <milcars@mapswithme.com>2016-09-28 20:49:42 +0300
commitfcf41c868d50b0e17c4e9a8f8505f0d9567ff235 (patch)
treee7fbf9a6a6462048065fe22f700b1217beae73d2 /indexer/indexer_tests
parent6f12239a778ed7c19326229b5aa2e9966f206ddd (diff)
added mark for readable names into categories.txt
Diffstat (limited to 'indexer/indexer_tests')
-rw-r--r--indexer/indexer_tests/categories_test.cpp108
1 files changed, 106 insertions, 2 deletions
diff --git a/indexer/indexer_tests/categories_test.cpp b/indexer/indexer_tests/categories_test.cpp
index 8152110ca4..222ad69760 100644
--- a/indexer/indexer_tests/categories_test.cpp
+++ b/indexer/indexer_tests/categories_test.cpp
@@ -25,7 +25,7 @@ using namespace indexer;
char const g_testCategoriesTxt[] =
"amenity-bench\n"
"en:1bench|sit down|to sit\n"
- "de:0bank|auf die strafbank schicken\n"
+ "de:2bank|auf die strafbank schicken\n"
"zh-Hans:长凳\n"
"zh-Hant:長板凳\n"
"da:bænk\n"
@@ -55,7 +55,7 @@ struct Checker
TEST_EQUAL(cat.m_synonyms[2].m_name, "to sit", ());
TEST_EQUAL(cat.m_synonyms[3].m_locale, CategoriesHolder::MapLocaleToInteger("de"), ());
TEST_EQUAL(cat.m_synonyms[3].m_name, "bank", ());
- TEST_EQUAL(cat.m_synonyms[3].m_prefixLengthToSuggest, 0, ());
+ TEST_EQUAL(cat.m_synonyms[3].m_prefixLengthToSuggest, 2, ());
TEST_EQUAL(cat.m_synonyms[4].m_locale, CategoriesHolder::MapLocaleToInteger("de"), ());
TEST_EQUAL(cat.m_synonyms[4].m_name, "auf die strafbank schicken", ());
TEST_EQUAL(cat.m_synonyms[5].m_locale, CategoriesHolder::MapLocaleToInteger("zh_CN"), ());
@@ -119,6 +119,110 @@ UNIT_TEST(CategoriesHolder_Smoke)
}
}
+UNIT_TEST(CategoriesHolder_ReadableNameSmoke)
+{
+ classificator::Load();
+
+ auto const & categoriesHolder = GetDefaultCategories();
+ auto const & groupTranslations = categoriesHolder.GetGroupTranslations();
+
+ categoriesHolder.ForEachCategory([](CategoriesHolder::Category const & cat)
+ {
+ for (auto const & synonym : cat.m_synonyms)
+ {
+ TEST_NOT_EQUAL(synonym.m_name[0], '^', ("symbol ^ is used incorrectly in categories.txt "
+ "and loaded to synonyms."));
+ }
+ });
+
+ for (auto const & group : groupTranslations)
+ {
+ for (auto const & translation : group.second)
+ {
+ TEST_NOT_EQUAL(translation.m_name[0], '^', ("symbol ^ is used incorrectly in categories.txt "
+ "and loaded to group translations"));
+ }
+ }
+}
+
+UNIT_TEST(CategoriesHolder_ReadableName)
+{
+ char const kCategories[] =
+ "@shop\n"
+ "en:^Shop\n"
+ "ru:^Mагазин\n"
+ "\n"
+ "@meat\n"
+ "en:Beef|^Meat\n"
+ "ru:мясо\n"
+ "de:Schlachter\n"
+ "\n"
+ "@butcher\n"
+ "de:^Metzgerei\n"
+ "\n"
+ "shop|@shop\n"
+ "en:market\n"
+ "\n"
+ "shop-alcohol|@shop\n"
+ "en:Liquor Store|2^Alcostore\n"
+ "\n"
+ "shop-bakery|@shop\n"
+ "en:^buns\n"
+ "\n"
+ "shop-butcher|@meat|@butcher\n"
+ "en:2butcher\n"
+ "ru:3^Мясная лавка\n"
+ "de:Geschäft|2Laden\n"
+ "";
+
+ classificator::Load();
+ CategoriesHolder holder(make_unique<MemReader>(kCategories, sizeof(kCategories) - 1));
+
+ size_t count = 0;
+ holder.ForEachCategory([&count](CategoriesHolder::Category const & cat)
+ {
+ if (count == 0)
+ {
+ TEST_EQUAL(cat.m_synonyms.size(), 3, ());
+ TEST_EQUAL(cat.m_synonyms[0].m_name, "Mагазин", ());
+ TEST_EQUAL(cat.m_synonyms[1].m_name, "Shop", ());
+ TEST_EQUAL(cat.m_synonyms[2].m_name, "market", ());
+ }
+
+ if (count == 1)
+ {
+ TEST_EQUAL(cat.m_synonyms.size(), 4, ());
+ TEST_EQUAL(cat.m_synonyms[0].m_name, "Alcostore", ());
+ TEST_EQUAL(cat.m_synonyms[1].m_name, "Mагазин", ());
+ TEST_EQUAL(cat.m_synonyms[2].m_name, "Shop", ());
+ TEST_EQUAL(cat.m_synonyms[3].m_name, "Liquor Store", ());
+ }
+
+ if (count == 2)
+ {
+ TEST_EQUAL(cat.m_synonyms.size(), 3, ());
+ TEST_EQUAL(cat.m_synonyms[0].m_name, "buns", ());
+ TEST_EQUAL(cat.m_synonyms[1].m_name, "Mагазин", ());
+ TEST_EQUAL(cat.m_synonyms[2].m_name, "Shop", ());
+ }
+
+ if (count == 3)
+ {
+ TEST_EQUAL(cat.m_synonyms.size(), 9, ());
+ TEST_EQUAL(cat.m_synonyms[0].m_name, "Мясная лавка", ());
+ TEST_EQUAL(cat.m_synonyms[1].m_name, "Metzgerei", ());
+ TEST_EQUAL(cat.m_synonyms[2].m_name, "Meat", ());
+ TEST_EQUAL(cat.m_synonyms[3].m_name, "Beef", ());
+ TEST_EQUAL(cat.m_synonyms[4].m_name, "мясо", ());
+ TEST_EQUAL(cat.m_synonyms[5].m_name, "Schlachter", ());
+ TEST_EQUAL(cat.m_synonyms[6].m_name, "butcher", ());
+ TEST_EQUAL(cat.m_synonyms[7].m_name, "Geschäft", ());
+ TEST_EQUAL(cat.m_synonyms[8].m_name, "Laden", ());
+ }
+ ++count;
+ });
+}
+
UNIT_TEST(CategoriesIndex_Smoke)
{
classificator::Load();