From e8620e879f907ff30a62b1e1e2161584ba18c801 Mon Sep 17 00:00:00 2001 From: Maksim Andrianov Date: Fri, 5 Mar 2021 14:35:29 +0300 Subject: [generator] Fixed RoadAccessWriter tests. --- generator/generator_tests/road_access_test.cpp | 91 +++++--------------------- 1 file changed, 18 insertions(+), 73 deletions(-) diff --git a/generator/generator_tests/road_access_test.cpp b/generator/generator_tests/road_access_test.cpp index 611e3499ae..bc517c2974 100644 --- a/generator/generator_tests/road_access_test.cpp +++ b/generator/generator_tests/road_access_test.cpp @@ -26,6 +26,7 @@ #include "base/scope_guard.hpp" #include "base/string_utils.hpp" +#include #include #include #include @@ -74,26 +75,6 @@ size_t GetLinesNumber(string const & text) return n; } -bool ExistsConsecutiveLines(string const & text, vector const & lines) -{ - stringstream ss; - ss << text.data(); - size_t lineIndex = 0; - string lineFromText; - while (getline(ss, lineFromText)) - { - if (lineFromText == lines[lineIndex]) - ++lineIndex; - else - lineIndex = 0; - - if (lineIndex == lines.size()) - return true; - } - - return false; -} - void LoadRoadAccess(string const & mwmFilePath, VehicleType vehicleType, RoadAccess & roadAccess) { FilesContainerR const cont(mwmFilePath); @@ -392,37 +373,19 @@ UNIT_TEST(RoadAccessWriter_ConditionalMerge) c1->Merge(*c2); c1->Merge(*c3); - c1->Finalize(); + c1->Finalize(true /*isStable*/); ifstream stream; stream.exceptions(fstream::failbit | fstream::badbit); stream.open(filename + ROAD_ACCESS_CONDITIONAL_EXT); - stringstream buffer; - buffer << stream.rdbuf(); - - size_t linesNumber = 0; - auto const test = [&linesNumber, &buffer](vector const & lines) { - TEST(ExistsConsecutiveLines(buffer.str(), lines), (buffer.str(), lines)); - linesNumber += lines.size(); - }; - - test({"Car 3 2", - "Private", - "12:00-19:00", - "No", - "Mo-Su"}); + string const resultFile((istreambuf_iterator(stream)), istreambuf_iterator()); - test({ - "Car 2 1", - "Private", - "10:00-20:00"}); + string const expectedFile = + "Car\t1\t1\tNo\tMo-Su\t\n" + "Car\t2\t1\tPrivate\t10:00-20:00\t\n" + "Car\t3\t2\tPrivate\t12:00-19:00\tNo\tMo-Su\t\n"; - test({ - "Car 1 1", - "No", - "Mo-Su"}); - - TEST_EQUAL(GetLinesNumber(buffer.str()), linesNumber, ()); + TEST_EQUAL(resultFile, expectedFile, ()); } UNIT_TEST(RoadAccessWriter_Conditional_WinterRoads) @@ -446,39 +409,21 @@ UNIT_TEST(RoadAccessWriter_Conditional_WinterRoads) c1->CollectFeature(MakeFbForTest(w2), w2); c1->Finish(); - c1->Finalize(); + c1->Finalize(true /*isStable*/); ifstream stream; stream.exceptions(fstream::failbit | fstream::badbit); stream.open(filename + ROAD_ACCESS_CONDITIONAL_EXT); - stringstream buffer; - buffer << stream.rdbuf(); + string const resultFile((istreambuf_iterator(stream)), istreambuf_iterator()); - size_t linesNumber = 0; - auto const test = [&linesNumber, &buffer](vector const & lines) { - TEST(ExistsConsecutiveLines(buffer.str(), lines), (buffer.str(), lines)); - linesNumber += lines.size(); - }; + string const expectedFile = + "Bicycle\t1\t1\tNo\tMar - Nov\t\n" + "Bicycle\t2\t1\tNo\tMar - Nov\t\n" + "Car\t1\t1\tNo\tMar - Nov\t\n" + "Car\t2\t1\tNo\tMar - Nov\t\n" + "Pedestrian\t1\t1\tNo\tMar - Nov\t\n" + "Pedestrian\t2\t1\tNo\tMar - Nov\t\n"; - test({"Pedestrian 2 1", - "No", - "Mar - Nov"}); - test({"Pedestrian 1 1", - "No", - "Mar - Nov"}); - test({"Bicycle 2 1", - "No", - "Mar - Nov"}); - test({"Bicycle 1 1", - "No", - "Mar - Nov"}); - test({"Car 2 1", - "No", - "Mar - Nov"}); - test({"Car 1 1", - "No", - "Mar - Nov"}); - - TEST_EQUAL(GetLinesNumber(buffer.str()), linesNumber, ()); + TEST_EQUAL(resultFile, expectedFile, ()); } } // namespace -- cgit v1.2.3