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 <a.milchakov@corp.mail.ru>2016-08-19 18:50:59 +0300
committerArsentiy Milchakov <a.milchakov@corp.mail.ru>2016-08-19 18:50:59 +0300
commit003fa128b5c7d3e049f4bd95e3b68ab021d422c7 (patch)
treec6831d94c4dbec79f56120a785631a9e686a8353 /indexer/indexer_tests
parent8add28eba33004c47bed783e0ce54a8c5501b6a8 (diff)
propagate FMD_INTERNET from type for MapObjects
Diffstat (limited to 'indexer/indexer_tests')
-rw-r--r--indexer/indexer_tests/editable_map_object_test.cpp55
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