Changeset 60c0ffa in osmose-backend


Ignore:
Timestamp:
Feb 9, 2014 11:15:35 PM (6 years ago)
Author:
Jocelyn Jaubert <jocelyn.jaubert@…>
Branches:
master
Children:
14f8392
Parents:
c34a193
git-author:
Jocelyn Jaubert <jocelyn.jaubert@…> (09/02/2014 23:09:00)
git-committer:
Jocelyn Jaubert <jocelyn.jaubert@…> (09/02/2014 23:15:35)
Message:

OsmBin?: Add tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • modules/OsmBin.py

    rc34a193 r60c0ffa  
    457457        uri=daemon.connect(OsmBin2("/data/work/osmbin/data/"), "OsmBin") 
    458458        daemon.requestLoop() 
     459 
     460########################################################################### 
     461import unittest 
     462 
     463class TestCountObjects: 
     464    def __init__(self): 
     465        self.num_nodes = 0 
     466        self.num_ways = 0 
     467        self.num_rels = 0 
     468 
     469    def NodeCreate(self, data): 
     470        self.num_nodes += 1 
     471 
     472    def WayCreate(self, data): 
     473        self.num_ways += 1 
     474 
     475    def RelationCreate(self, data): 
     476        self.num_rels += 1 
     477 
     478class Test(unittest.TestCase): 
     479    @classmethod 
     480    def setup_class(cls): 
     481        import shutil 
     482        shutil.rmtree("tmp-osmbin/", True) 
     483        InitFolder("tmp-osmbin/") 
     484        cls.a = OsmBin("tmp-osmbin/", "w") 
     485        cls.a.Import("tests/saint_barthelemy.osm.bz2") 
     486 
     487    @classmethod 
     488    def teardown_class(cls): 
     489        import shutil 
     490        del cls.a 
     491        shutil.rmtree("tmp-osmbin/") 
     492 
     493    def check_node(self, func, id, exists=True): 
     494        res = func(id) 
     495        if exists: 
     496            assert res 
     497            assert res["lat"] 
     498            assert res["lon"] 
     499            self.assertEquals(res["id"], id) 
     500        else: 
     501            if res: 
     502                self.assertEquals(res["lat"], _Str4ToCoord(_IntToStr4(0))) 
     503                self.assertEquals(res["lon"], _Str4ToCoord(_IntToStr4(0))) 
     504 
     505    def check_way(self, func, id, exists=True): 
     506        res = func(id) 
     507        if exists: 
     508            assert res 
     509            assert res["nd"] 
     510            self.assertEquals(res["tag"], {}) 
     511            self.assertEquals(res["id"], id) 
     512        else: 
     513            assert not res 
     514 
     515    def check_relation(self, func, id, exists=True): 
     516        res = func(id) 
     517        if exists: 
     518            assert res 
     519            assert res["member"] 
     520            assert res["tag"] 
     521            self.assertEquals(res["id"], id) 
     522        else: 
     523            assert not res 
     524 
     525 
     526    def test_copy_relation(self): 
     527        o1 = TestCountObjects() 
     528        self.a.CopyRelationTo(o1) 
     529        self.assertEquals(o1.num_nodes, 0) 
     530        self.assertEquals(o1.num_ways, 0) 
     531        self.assertEquals(o1.num_rels, 16) 
     532 
     533    def test_node(self): 
     534        self.check_node(self.a.NodeGet, 266053077) 
     535        self.check_node(self.a.NodeGet, 2619283351) 
     536        self.check_node(self.a.NodeGet, 2619283352) 
     537        self.check_node(self.a.NodeGet, 1, False) 
     538        self.check_node(self.a.NodeGet, 266053076, False) 
     539        self.check_node(self.a.NodeGet, 2619283353, False) 
     540 
     541    def test_way(self): 
     542        self.check_way(self.a.WayGet, 24473155) 
     543        self.check_way(self.a.WayGet, 255316725) 
     544        self.check_way(self.a.WayGet, 1, False) 
     545        self.check_way(self.a.WayGet, 24473154, False) 
     546        self.check_way(self.a.WayGet, 255316726, False) 
     547 
     548    def test_relation(self): 
     549        self.check_relation(self.a.RelationGet, 47796) 
     550        self.check_relation(self.a.RelationGet, 2707693) 
     551        self.check_relation(self.a.RelationGet, 1, False) 
     552        self.check_relation(self.a.RelationGet, 47795, False) 
     553        self.check_relation(self.a.RelationGet, 2707694, False) 
Note: See TracChangeset for help on using the changeset viewer.