diff options
author | Ilya Zverev <ilya@zverev.info> | 2016-08-22 13:03:38 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-22 13:03:38 +0300 |
commit | 39103b30cf1fcb94801d6725f60897c85df45304 (patch) | |
tree | 02a45623a111aa0a943f6d9ba19429d3ef0c1c90 /indexer/indexer_tests | |
parent | 627d66722a15982edf6a9f914fd316604f857d92 (diff) | |
parent | c0602426408bf5aaa1717af437d3978b88a93649 (diff) |
Merge pull request #4080 from milchakov/place_page_wifi
[editor] populate FMD_INTERNET from type for MapObjects
Diffstat (limited to 'indexer/indexer_tests')
-rw-r--r-- | indexer/indexer_tests/checker_test.cpp | 6 | ||||
-rw-r--r-- | indexer/indexer_tests/editable_map_object_test.cpp | 45 |
2 files changed, 48 insertions, 3 deletions
diff --git a/indexer/indexer_tests/checker_test.cpp b/indexer/indexer_tests/checker_test.cpp index 703ed22ad0..c08e550817 100644 --- a/indexer/indexer_tests/checker_test.cpp +++ b/indexer/indexer_tests/checker_test.cpp @@ -148,14 +148,14 @@ UNIT_TEST(GetHighwayClassTest) Classificator const & c = classif(); feature::TypesHolder types1; - types1(c.GetTypeByPath({"highway", "motorway_link", "tunnel"})); + types1.Add(c.GetTypeByPath({"highway", "motorway_link", "tunnel"})); TEST_EQUAL(ftypes::GetHighwayClass(types1), ftypes::HighwayClass::Trunk, ()); feature::TypesHolder types2; - types2(c.GetTypeByPath({"highway", "unclassified"})); + types2.Add(c.GetTypeByPath({"highway", "unclassified"})); TEST_EQUAL(ftypes::GetHighwayClass(types2), ftypes::HighwayClass::LivingStreet, ()); feature::TypesHolder types3; - types3(c.GetTypeByPath({"highway"})); + types3.Add(c.GetTypeByPath({"highway"})); TEST_EQUAL(ftypes::GetHighwayClass(types3), ftypes::HighwayClass::Error, ()); } diff --git a/indexer/indexer_tests/editable_map_object_test.cpp b/indexer/indexer_tests/editable_map_object_test.cpp index 7df4730871..7f0dae3af6 100644 --- a/indexer/indexer_tests/editable_map_object_test.cpp +++ b/indexer/indexer_tests/editable_map_object_test.cpp @@ -1,5 +1,7 @@ #include "testing/testing.hpp" +#include "indexer/classificator.hpp" +#include "indexer/classificator_loader.hpp" #include "indexer/editable_map_object.hpp" namespace @@ -244,4 +246,47 @@ UNIT_TEST(EditableMapObject_GetNamesDataSource) "The English language + user`s language. Excluding repetiton")); } } + +UNIT_TEST(EditableMapObject_SetInternet) +{ + classificator::Load(); + + EditableMapObject emo; + auto const wifiType = classif().GetTypeByPath({"internet_access", "wlan"}); + emo.SetType(wifiType); + + auto types = emo.GetTypes(); + TEST(types.Has(wifiType), ()); + + auto const setInternetAndCheck = [wifiType](EditableMapObject & emo, osm::Internet internet, bool hasWifi) + { + emo.SetInternet(internet); + + TEST_EQUAL(emo.GetInternet(), internet, ()); + auto const & types = emo.GetTypes(); + TEST_EQUAL(types.Has(wifiType), hasWifi, ()); + }; + + setInternetAndCheck(emo, osm::Internet::No, false); + setInternetAndCheck(emo, osm::Internet::Yes, false); + setInternetAndCheck(emo, osm::Internet::Wired, false); + setInternetAndCheck(emo, osm::Internet::Wlan, true); + setInternetAndCheck(emo, osm::Internet::Unknown, false); + + EditableMapObject bunkerEmo; + bunkerEmo.SetType(classif().GetTypeByPath({"military", "bunker"})); + types = bunkerEmo.GetTypes(); + TEST(!types.Has(wifiType), ()); + + setInternetAndCheck(bunkerEmo, osm::Internet::Wlan, true); + setInternetAndCheck(bunkerEmo, osm::Internet::No, false); + setInternetAndCheck(bunkerEmo, osm::Internet::Wlan, true); + setInternetAndCheck(bunkerEmo, osm::Internet::Yes, false); + setInternetAndCheck(bunkerEmo, osm::Internet::Wlan, true); + setInternetAndCheck(bunkerEmo, osm::Internet::Wired, false); + setInternetAndCheck(bunkerEmo, osm::Internet::Wlan, true); + setInternetAndCheck(bunkerEmo, osm::Internet::Unknown, false); + setInternetAndCheck(bunkerEmo, osm::Internet::Wlan, true); + setInternetAndCheck(bunkerEmo, osm::Internet::Wlan, true); +} } // namespace |