Ejemplo n.º 1
0
    def test_all_files(self):
        """
        Test parsing of all files and compare with json version
        """
        for name in ['empty', 'node', 'way', 'map', 'relation']:
            xml_data = read_data_file(name + '.osm')
            json_data = read_data_file(name + '.json')
            parsed_json = parse_xml(xml_data)
            saved_json = json.loads(json_data)

            if 'version' not in saved_json:
                del parsed_json['version']

            self.assertDictEqual(saved_json, parsed_json)
Ejemplo n.º 2
0
    def test_map(self):
        """
        Test parsing of usual map
        """
        xml = read_data_file('map.osm')
        data = parse_xml(xml)

        self.assertIsInstance(data, dict)
        self.assertEqual(data['version'], 0.6)
Ejemplo n.º 3
0
    def test_empty_tag(self):
        """
        Test parsing of empty <osm> tag
        """
        xml = read_data_file('empty.osm')
        data = parse_xml(xml)

        self.assertIsInstance(data, dict)
        # Use version 0.6 as default
        self.assertEqual(data['version'], 0.6)
        self.assertEqual(data['elements'], [])
Ejemplo n.º 4
0
    def test_node(self):
        """
        Test parsing node
        """
        xml = read_data_file('node.osm')
        data = parse_xml(xml)

        self.assertIsInstance(data, dict)
        self.assertIsInstance(data['elements'], list)
        self.assertEqual(len(data['elements']), 1)

        node = data['elements'][0]
        self.assertIsInstance(node, dict)
        self.assertEqual(node['type'], 'node')
        self.assertEqual(node['id'], 1)
        self.assertAlmostEqual(node['lat'], 1.234)
        self.assertAlmostEqual(node['lon'], 4.321)
Ejemplo n.º 5
0
    def test_way(self):
        """
        Test parsing way
        """
        xml = read_data_file('way.osm')
        data = parse_xml(xml)

        self.assertIsInstance(data, dict)
        self.assertIsInstance(data['elements'], list)
        self.assertEqual(len(data['elements']), 4)

        way = data['elements'][0]

        self.assertIsInstance(way, dict)
        self.assertEqual(way['type'], 'way')
        self.assertEqual(way['id'], 1)
        self.assertIsInstance(way['nodes'], list)
        self.assertEqual(way['nodes'], [2, 3, 4])
Ejemplo n.º 6
0
    def test_relation(self):
        """
        Test parsing relation
        """
        xml = read_data_file('relation.osm')
        data = parse_xml(xml)

        self.assertIsInstance(data, dict)
        self.assertIsInstance(data['elements'], list)
        self.assertEqual(len(data['elements']), 10)

        relation = data['elements'][0]

        self.assertIsInstance(relation, dict)
        self.assertEqual(relation['type'], 'relation')
        self.assertEqual(relation['id'], 1)
        self.assertIsInstance(relation['members'], list)
        self.assertEqual(len(relation['members']), 2)
        self.assertEqual(relation['tags'], { 'type': 'multipolygon' })
Ejemplo n.º 7
0
def get_osm_and_geojson_data(name):
    xml_data = read_data_file(name + '.osm')
    geojson_data = read_data_file(name + '.geojson')
    data = xml2geojson(xml_data)
    saved_geojson = json.loads(geojson_data)
    return (data, saved_geojson)
Ejemplo n.º 8
0
 def test_issue_9(self):
     (data, saved_geojson) = get_json_and_geojson_data('issue-9')
     all_geojson = json.loads(read_data_file('issue-9-all.geojson'))
     self.assertDictEqual(saved_geojson, json2geojson(data))
     self.assertDictEqual(all_geojson,
                          json2geojson(data, filter_used_refs=False))
Ejemplo n.º 9
0
def get_json_and_geojson_data(name):
    json_data = read_data_file(name + '.json')
    geojson_data = read_data_file(name + '.geojson')
    data = json.loads(json_data)
    saved_geojson = json.loads(geojson_data)
    return (data, saved_geojson)