diff options
author | Arsentiy Milchakov <a.milchakov@corp.mail.ru> | 2016-08-19 18:50:59 +0300 |
---|---|---|
committer | Arsentiy Milchakov <a.milchakov@corp.mail.ru> | 2016-08-19 18:50:59 +0300 |
commit | 003fa128b5c7d3e049f4bd95e3b68ab021d422c7 (patch) | |
tree | c6831d94c4dbec79f56120a785631a9e686a8353 /indexer/indexer_tests | |
parent | 8add28eba33004c47bed783e0ce54a8c5501b6a8 (diff) |
propagate FMD_INTERNET from type for MapObjects
Diffstat (limited to 'indexer/indexer_tests')
-rw-r--r-- | indexer/indexer_tests/editable_map_object_test.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/indexer/indexer_tests/editable_map_object_test.cpp b/indexer/indexer_tests/editable_map_object_test.cpp index c9db74a865..4761520503 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 @@ -239,4 +241,57 @@ UNIT_TEST(EditableMapObject_GetNamesDataSource) "The English language + user`s language. Excluding repetiton")); } } + +UNIT_TEST(EditableMapObject_SetInternet) +{ + try + { + classificator::Load(); + } + catch (RootException const & e) + { + LOG(LERROR, ("Classificator read error: ", e.what())); + } + + EditableMapObject emo; + const uint32_t 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 wifiExpected) + { + emo.SetInternet(internet); + + TEST_EQUAL(emo.GetInternet(), internet, ()); + auto const & types = emo.GetTypes(); + TEST_EQUAL(types.Has(wifiType), wifiExpected, ()); + }; + + 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); + setInternetAndCheck(emo, osm::Internet::No, false); + setInternetAndCheck(emo, osm::Internet::Wlan, true); + + + 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 |