diff options
author | vng <viktor.govako@gmail.com> | 2012-04-17 19:37:58 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:37:30 +0300 |
commit | 9a86c24eb3ece028473f325195c90412e01b6d60 (patch) | |
tree | cd21b43ecf1c12413afc1d2fc01f689c10875c5c /generator/generator_tests/osm_type_test.cpp | |
parent | c0dec5211a91ed75df8d40d28300f8fb81db11db (diff) |
Add feature's type recognition test.
Diffstat (limited to 'generator/generator_tests/osm_type_test.cpp')
-rw-r--r-- | generator/generator_tests/osm_type_test.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/generator/generator_tests/osm_type_test.cpp b/generator/generator_tests/osm_type_test.cpp index 46f3529bf7..c7de69e636 100644 --- a/generator/generator_tests/osm_type_test.cpp +++ b/generator/generator_tests/osm_type_test.cpp @@ -111,3 +111,31 @@ UNIT_TEST(OsmType_Check) DumpParsedTypes(arr3, ARRAY_SIZE(arr3)); DumpParsedTypes(arr4, ARRAY_SIZE(arr4)); } + +UNIT_TEST(OsmType_Combined) +{ + char const * arr[][2] = { + { "addr:housenumber", "84" }, + { "addr:postcode", "220100" }, + { "addr:street", "ул. Максима Богдановича" }, + { "amenity", "school" }, + { "building", "yes" }, + { "name", "Гимназия 15" } + }; + + XMLElement e; + FillXmlElement(arr, ARRAY_SIZE(arr), &e); + + FeatureParams params; + ftype::GetNameAndType(&e, params); + + Classificator & c = classif(); + TEST(params.IsTypeExist(c.GetTypeByPath(vector<string>(arr[3], arr[3] + 2))), ()); + TEST(params.IsTypeExist(c.GetTypeByPath(vector<string>(arr[4], arr[4] + 1))), ()); + + string s; + params.name.GetString(0, s); + TEST_EQUAL(s, arr[5][1], ()); + + TEST_EQUAL(params.house.Get(), "84", ()); +} |