From 5d4b9079e69197a05c0f75cd4be3921873f92ceb Mon Sep 17 00:00:00 2001 From: Vladimir Byko-Ianko Date: Tue, 11 Sep 2018 18:03:19 +0300 Subject: [PATCH] Review fixes. --- generator/generator_tests/city_roads_tests.cpp | 3 ++- routing/city_roads_loader.cpp | 12 ++++++++++++ routing/city_roads_loader.hpp | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/generator/generator_tests/city_roads_tests.cpp b/generator/generator_tests/city_roads_tests.cpp index 4f01e951c6..47d473e417 100644 --- a/generator/generator_tests/city_roads_tests.cpp +++ b/generator/generator_tests/city_roads_tests.cpp @@ -94,7 +94,8 @@ void TestCityRoadsBuilding(vector && cityRoadFeatureIds) sort(originalCityRoadFeatureIds.begin(), originalCityRoadFeatureIds.end()); size_t const kMaxRoadFeatureId = originalCityRoadFeatureIds.back(); CHECK_LESS(kMaxRoadFeatureId, numeric_limits::max(), ()); - for (uint32_t fid = 0; fid < kMaxRoadFeatureId; ++fid) + // Note. 2 is added below to test all the if-branches of CityRoadsLoader::IsCityRoad() method. + for (uint32_t fid = 0; fid < kMaxRoadFeatureId + 2; ++fid) { bool const isCityRoad = binary_search(originalCityRoadFeatureIds.cbegin(), originalCityRoadFeatureIds.cend(), fid); diff --git a/routing/city_roads_loader.cpp b/routing/city_roads_loader.cpp index 7eb3b84a84..3064bd7dc6 100644 --- a/routing/city_roads_loader.cpp +++ b/routing/city_roads_loader.cpp @@ -5,6 +5,8 @@ #include "coding/reader.hpp" #include "coding/succinct_mapper.hpp" +#include "base/logging.hpp" + #include namespace routing @@ -39,4 +41,14 @@ CityRoadsLoader::CityRoadsLoader(DataSource const & dataSource, MwmSet::MwmId co "section.", e.Msg())); } } + +bool CityRoadsLoader::IsCityRoad(uint32_t fid) const +{ + if (fid < m_cityRoads.size()) + return m_cityRoads[fid]; + else if (fid == m_cityRoads.size()) + return true; + else + return false; +} } // namespace routing diff --git a/routing/city_roads_loader.hpp b/routing/city_roads_loader.hpp index 3ff959ec04..8ce92dbd40 100644 --- a/routing/city_roads_loader.hpp +++ b/routing/city_roads_loader.hpp @@ -47,7 +47,7 @@ public: CityRoadsLoader(DataSource const & dataSource, MwmSet::MwmId const & mwmId); bool HasCityRoads() const { return m_cityRoads.size() > 0; } - bool IsCityRoad(uint32_t fid) const { return m_cityRoads[fid]; } + bool IsCityRoad(uint32_t fid) const; private: std::unique_ptr m_cityRoadsRegion;