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:
authorSergey Yershov <yershov@corp.mail.ru>2015-08-06 12:53:57 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-23 03:00:48 +0300
commitee425939083ba554eea3f650b51674bfdfcd3bcb (patch)
tree122c6525996673fcf074e3dc7cd5e84cf0ce057f /generator/generator_tests
parent02a3ea65b7f0abdb15e62d116e29114db76c0651 (diff)
Add dummy tests
Diffstat (limited to 'generator/generator_tests')
-rw-r--r--generator/generator_tests/source_to_element_test.cpp87
1 files changed, 87 insertions, 0 deletions
diff --git a/generator/generator_tests/source_to_element_test.cpp b/generator/generator_tests/source_to_element_test.cpp
new file mode 100644
index 0000000000..75aff288fb
--- /dev/null
+++ b/generator/generator_tests/source_to_element_test.cpp
@@ -0,0 +1,87 @@
+//
+// source_to_element_test.cpp
+// generator_tool
+//
+// Created by Sergey Yershov on 05.08.15.
+// Copyright (c) 2015 maps.me. All rights reserved.
+//
+
+#include "testing/testing.hpp"
+
+#include "coding/parse_xml.hpp"
+#include "generator/osm_source.hpp"
+#include "generator/xml_element.hpp"
+
+
+char const node_xml_data[] = "<?xml version='1.0' encoding='UTF-8'?> \
+ <osm version='0.6' upload='true' generator='JOSM'> \
+ <node id='-273105' action='modify' visible='true' lat='62.18269750679' lon='-134.28965517091'> \
+ <tag k='name' v='Продуктовый' /> \
+ <tag k='opening_hours' v='24/7' /> \
+ <tag k='shop' v='convenience' /> \
+ </node> \
+ </osm> \
+";
+
+// binary data: node.o5m
+uint8_t node_o5m_data1[] = /* 92 */
+{0xFF, 0xE0, 0x04, 0x6F, 0x35, 0x6D, 0x32, 0xFF, 0x10, 0x51, 0xA1, 0xAB, 0x21, 0x00, 0xCD, 0xE6,
+ 0xD7, 0x80, 0x0A, 0xBE, 0xCE, 0x82, 0xD1, 0x04, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0xD0, 0x9F,
+ 0xD1, 0x80, 0xD0, 0xBE, 0xD0, 0xB4, 0xD1, 0x83, 0xD0, 0xBA, 0xD1, 0x82, 0xD0, 0xBE, 0xD0, 0xB2,
+ 0xD1, 0x8B, 0xD0, 0xB9, 0x00, 0x00, 0x6F, 0x70, 0x65, 0x6E, 0x69, 0x6E, 0x67, 0x5F, 0x68, 0x6F,
+ 0x75, 0x72, 0x73, 0x00, 0x32, 0x34, 0x2F, 0x37, 0x00, 0x00, 0x73, 0x68, 0x6F, 0x70, 0x00, 0x63,
+ 0x6F, 0x6E, 0x76, 0x65, 0x6E, 0x69, 0x65, 0x6E, 0x63, 0x65, 0x00, 0xFE};
+static_assert(sizeof(node_o5m_data1) == 92, "Size check failed");
+
+
+struct DummyParser : public BaseOSMParser
+{
+ XMLElement & m_e;
+ DummyParser(XMLElement & e) : BaseOSMParser() , m_e(e) {}
+ void EmitElement(XMLElement * p) override
+ {
+ m_e = *p;
+ }
+};
+
+UNIT_TEST(Source_To_Element_check_equivalence)
+{
+ istringstream ss1(node_xml_data);
+ SourceReader reader1(ss1);
+
+ XMLElement e1;
+ DummyParser parser1(e1);
+ ParseXMLSequence(reader1, parser1);
+
+ string src(begin(node_o5m_data1), end(node_o5m_data1));
+ istringstream ss2(src);
+ SourceReader reader2(ss2);
+
+ XMLElement e2;
+ DummyParser parser2(e2);
+ BuildFeaturesFromO5M(reader2, parser2);
+
+ TEST_EQUAL(e1, e2, ());
+}
+
+
+UNIT_TEST(Source_To_Element_create_from_xml_test)
+{
+ istringstream ss(node_xml_data);
+ SourceReader reader(ss);
+
+ XMLElement e;
+ DummyParser parser(e);
+ ParseXMLSequence(reader, parser);
+}
+
+UNIT_TEST(Source_To_Element_create_from_o5m_test)
+{
+ string src(begin(node_o5m_data1), end(node_o5m_data1));
+ istringstream ss(src);
+ SourceReader reader(ss);
+
+ XMLElement e;
+ DummyParser parser(e);
+ BuildFeaturesFromO5M(reader, parser);
+} \ No newline at end of file