diff options
author | Sergey Yershov <yershov@corp.mail.ru> | 2015-08-25 15:44:56 +0300 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 03:03:17 +0300 |
commit | 07d5805bb17a8a2ead963e6ecdf4ed01968f77a0 (patch) | |
tree | 6530f313eda14f1ec886d9a57d1a75d8729e6625 /generator/generator_tests | |
parent | 3b8766bafc4a8a86b45b4966b09b10ae1312f330 (diff) |
Rename and remove files
Diffstat (limited to 'generator/generator_tests')
-rw-r--r-- | generator/generator_tests/intermediate_data_test.cpp | 2 | ||||
-rw-r--r-- | generator/generator_tests/osm_parser_test.cpp | 182 |
2 files changed, 1 insertions, 183 deletions
diff --git a/generator/generator_tests/intermediate_data_test.cpp b/generator/generator_tests/intermediate_data_test.cpp index 41a597c270..256e51236b 100644 --- a/generator/generator_tests/intermediate_data_test.cpp +++ b/generator/generator_tests/intermediate_data_test.cpp @@ -8,7 +8,7 @@ #include "testing/testing.hpp" -#include "generator/osm_decl.hpp" +#include "generator/intermediate_elements.hpp" UNIT_TEST(Intermediate_Data_empty_way_element_save_load_test) diff --git a/generator/generator_tests/osm_parser_test.cpp b/generator/generator_tests/osm_parser_test.cpp deleted file mode 100644 index 1873de375b..0000000000 --- a/generator/generator_tests/osm_parser_test.cpp +++ /dev/null @@ -1,182 +0,0 @@ -#include "testing/testing.hpp" - -#include "generator/osm_xml_parser.hpp" -#include "generator/borders_generator.hpp" - -#include "coding/reader.hpp" -#include "coding/parse_xml.hpp" -#include "coding/file_reader.hpp" -#include "coding/file_writer.hpp" - -using namespace osm; - -static char const gOsmXml[] = -"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" -"<osm version=\"0.6\" generator=\"OpenStreetMap server\">" -" <node id=\"1\" lat=\"0.0\" lon=\"0.0\" visible=\"true\"/>" -" <node id=\"2\" lat=\"20.0\" lon=\"0.0\"/>" -" <node id=\"3\" lat=\"20.0\" lon=\"20.0\"/>" -" <node id=\"4\" lat=\"0.0\" lon=\"20.0\"/>" -" <node id=\"7\" lat=\"5.0\" lon=\"10.0\"/>" -" <node id=\"8\" lat=\"10.0\" lon=\"10.0\"/>" -" <node id=\"9\" lat=\"10.0\" lon=\"15.0\"/>" -" <node id=\"10\" lat=\"5.555555\" lon=\"4.222222\">" -" <tag k=\"name\" v=\"Andorra la Vella\"/>" -" <tag k=\"capital\" v=\"yes\"/>" -" </node>" -" <node id=\"11\" lat=\"105.0\" lon=\"110.0\"/>" -" <node id=\"12\" lat=\"110.0\" lon=\"110.0\"/>" -" <node id=\"13\" lat=\"110.0\" lon=\"115.0\"/>" -" <way id=\"100\" visible=\"true\">" -" <nd ref=\"1\"/>" -" <nd ref=\"2\"/>" -" <nd ref=\"3\"/>" -" <tag k=\"boundary\" v=\"administrative\"/>" -" <tag k=\"admin_level\" v=\"2\"/>" -" </way>" -" <way id=\"101\" visible=\"true\">" -" <nd ref=\"1\"/>" -" <nd ref=\"4\"/>" -" <nd ref=\"3\"/>" -" <tag k=\"boundary\" v=\"administrative\"/>" -" <tag k=\"admin_level\" v=\"2\"/>" -" </way>" -" <way id=\"102\" visible=\"true\">" -" <nd ref=\"11\"/>" -" <nd ref=\"12\"/>" -" <nd ref=\"13\"/>" -" <nd ref=\"11\"/>" -" <tag k=\"boundary\" v=\"administrative\"/>" -" <tag k=\"admin_level\" v=\"2\"/>" -" </way>" -" <way id=\"121\" visible=\"true\">" -" <nd ref=\"7\"/>" -" <nd ref=\"8\"/>" -" <nd ref=\"9\"/>" -" <nd ref=\"7\"/>" -" <tag k=\"boundary\" v=\"administrative\"/>" -" <tag k=\"admin_level\" v=\"2\"/>" -" </way>" -" <relation id=\"444\" visible=\"true\">" -" <member type=\"way\" ref=\"121\" role=\"outer\"/>" -" <tag k=\"admin_level\" v=\"4\"/>" -" <tag k=\"boundary\" v=\"administrative\"/>" -" <tag k=\"name\" v=\"Some Region\"/>" -" <tag k=\"type\" v=\"boundary\"/>" -" </relation>" -" <relation id=\"555\" visible=\"true\">" -" <member type=\"node\" ref=\"10\" role=\"capital\"/>" -" <member type=\"way\" ref=\"100\" role=\"\"/>" -" <member type=\"way\" ref=\"101\" role=\"outer\"/>" -" <member type=\"way\" ref=\"102\" role=\"\"/>" -" <member type=\"way\" ref=\"121\" role=\"inner\"/>" -" <member type=\"relation\" ref=\"444\" role=\"subarea\"/>" -" <tag k=\"admin_level\" v=\"2\"/>" -" <tag k=\"boundary\" v=\"administrative\"/>" -" <tag k=\"ISO3166-1\" v=\"ad\"/>" -" <tag k=\"name\" v=\"Andorra\"/>" -" <tag k=\"name:en\" v=\"Andorra\"/>" -" <tag k=\"type\" v=\"boundary\"/>" -" </relation>" -"</osm>"; - -#define TEST_EXCEPTION(exception, expression) do { \ - bool gotException = false; \ - try { expression; } \ - catch (exception const &) { gotException = true; } \ - TEST(gotException, ("Exception should be thrown:", #exception)); \ - } while(0) - - -struct PointsTester -{ - list<OsmId> m_controlPoints; - PointsTester() - { - m_controlPoints.push_back(1); - m_controlPoints.push_back(2); - m_controlPoints.push_back(3); - m_controlPoints.push_back(4); - m_controlPoints.push_back(1); - } - void operator()(OsmId const & ptId) - { - TEST(!m_controlPoints.empty(), ()); - TEST_EQUAL(m_controlPoints.front(), ptId, ()); - m_controlPoints.pop_front(); - } - - bool IsOk() const - { - return m_controlPoints.empty(); - } -}; - -UNIT_TEST(OsmRawData_SmokeTest) -{ - OsmRawData osmData; - - { - // -1 to avoid finishing zero at the end of the string - MemReader xmlBlock(gOsmXml, ARRAY_SIZE(gOsmXml) - 1); - ReaderSource<MemReader> source(xmlBlock); - - OsmXmlParser parser(osmData); - TEST(ParseXML(source, parser), ("Invalid XML")); - } - - string outTagValue; - - TEST_EXCEPTION(OsmRawData::OsmInvalidIdException, OsmNode node = osmData.NodeById(98764)); - - OsmNode node = osmData.NodeById(9); - TEST_EQUAL(node.m_lat, 10.0, ()); - TEST_EQUAL(node.m_lon, 15.0, ()); - - TEST_EXCEPTION(OsmRawData::OsmInvalidIdException, OsmWay way = osmData.WayById(635794)); - - OsmWay way = osmData.WayById(100); - TEST_EQUAL(way.PointsCount(), 3, ()); - TEST(!way.TagValueByKey("invalid_tag", outTagValue), ()); - TEST(way.TagValueByKey("boundary", outTagValue), ()); - TEST_EQUAL(outTagValue, "administrative", ()); - TEST(way.TagValueByKey("admin_level", outTagValue), ()); - TEST_EQUAL(outTagValue, "2", ()); - - OsmWay way2 = osmData.WayById(101); - TEST(way.MergeWith(way2), ()); - TEST_EQUAL(way.PointsCount(), 5, ()); - PointsTester tester; - way.ForEachPoint(tester); - TEST(tester.IsOk(), ()); - TEST(way.IsClosed(), ()); - - TEST_EXCEPTION(OsmRawData::OsmInvalidIdException, OsmRelation relation = osmData.RelationById(64342)); - - OsmRelation rel1 = osmData.RelationById(444); - TEST(rel1.TagValueByKey("admin_level", outTagValue), ()); - TEST_EQUAL(outTagValue, "4", ()); - - OsmIds relations = osmData.RelationsByKey("invalid_tag_key"); - TEST(relations.empty(), ()); - relations = osmData.RelationsByKey("ISO3166-1"); - TEST_EQUAL(relations.size(), 1, ()); - TEST_EQUAL(relations[0], 555, ()); - - OsmRelation rel2 = osmData.RelationById(relations[0]); - OsmIds members = rel2.MembersByTypeAndRole("way", ""); - TEST_EQUAL(members.size(), 2, ()); - TEST_EQUAL(members[0], 100, ()); - members = rel2.MembersByTypeAndRole("way", "outer"); - TEST_EQUAL(members.size(), 1, ()); - TEST_EQUAL(members[0], 101, ()); - members = rel2.MembersByTypeAndRole("relation", "invalid_role"); - TEST(members.empty(), ()); - - relations.clear(); - - relations = osmData.RelationsByTag(OsmTag("boundary_invalid", "administrative")); - TEST(relations.empty(), ()); - relations = osmData.RelationsByTag(OsmTag("boundary", "administrative")); - TEST_EQUAL(relations.size(), 2, ()); -} |