Changeset 65aef2b in osmose-backend


Ignore:
Timestamp:
Feb 8, 2014 12:36:31 PM (6 years ago)
Author:
Jocelyn Jaubert <jocelyn.jaubert@…>
Branches:
master
Children:
28caff3
Parents:
7e0bc56
git-author:
Jocelyn Jaubert <jocelyn.jaubert@…> (07/02/2014 23:02:02)
git-committer:
Jocelyn Jaubert <jocelyn.jaubert@…> (08/02/2014 12:36:31)
Message:

Add tests for plugins

Location:
plugins
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • plugins/Administrative_TooManyWays.py

    r65e8ba3 r65aef2b  
    3333        if tags.get(u"boundary", u"") <> u"administrative": 
    3434            return 
    35         w = [m[u"ref"] for m in data[u"member"] if m[u"type"]==u"way"] 
     35        w = [m[u"ref"] for m in members if m[u"type"]==u"way"] 
    3636        if len(w) <> len(set(w)): 
    3737            return [(504, 0, {})] 
     
    4545        #    e_en = u"More than %s ways in admin_level=8 relation (%s)"%(str(n_limit),str(n)) 
    4646        #    return [(503, 0, {"fr": e_fr, "en": e_en})] 
     47 
     48########################################################################### 
     49from plugins.Plugin import TestPluginCommon 
     50 
     51class Test(TestPluginCommon): 
     52    def setUp(self): 
     53        TestPluginCommon.setUp(self) 
     54        self.p = Administrative_TooManyWays(None) 
     55        self.p.init(None) 
     56 
     57    def test(self): 
     58       w1_0 = { "ref": 1, "role": "xx", "type": "way"} 
     59       w1_1 = { "ref": 1, "role": "yy", "type": "way"} 
     60       w2   = { "ref": 2, "role": "xx", "type": "way"} 
     61       w3   = { "ref": 2, "role": "xx", "type": "way"} 
     62       n1   = { "ref": 1, "role": "xx", "type": "node"} 
     63       assert self.p.relation(None, {"boundary": "administrative"}, [w1_0, w1_1]) 
     64       assert not self.p.relation(None, {"boundary": "administrative"}, [w1_0, w2]) 
     65       assert not self.p.relation(None, {"boundary": "administrative"}, [w1_0, n1]) 
     66       assert not self.p.relation(None, {}, [w1_0, w1_1]) 
     67       assert not self.p.relation(None, {}, [w1_0, w1_1]) 
  • plugins/Construction.py

    r65e8ba3 r65aef2b  
    7878    def relation(self, data, tags, members): 
    7979        return self.node(data, tags) 
     80 
     81########################################################################### 
     82from plugins.Plugin import TestPluginCommon 
     83 
     84class Test(TestPluginCommon): 
     85    def setUp(self): 
     86        TestPluginCommon.setUp(self) 
     87        self.p = Construction(None) 
     88        self.p.init(None) 
     89 
     90    def test(self): 
     91        constr_tags = [{"construction": "yes"}, 
     92                       {"highway": "construction"}, 
     93                       {"landuse": "construction"}, 
     94                       {"building": "construction"}, 
     95                      ] 
     96        other_tags = [{"highway": "primary"}, 
     97                      {"landuse": "farm"}, 
     98                      {"building": "yes"}, 
     99                     ] 
     100 
     101        correct_dates = ["2010-02-03", 
     102                         "January 3rd, 2012", 
     103                         "02/01/1987", 
     104                         "12/21/1993", 
     105                         "22/01/2012", 
     106                        ] 
     107        not_correct_dates = ["22/01/2023", 
     108                             "2042-10-01", 
     109                             "monday", 
     110                             "yes", 
     111                            ] 
     112        for tags in constr_tags: 
     113            for tag_d in self.p.tag_date: 
     114                for val_d in correct_dates: 
     115                    t = tags.copy() 
     116                    t.update({tag_d: val_d}) 
     117                    assert self.p.node({}, t), t 
     118                for val_d in not_correct_dates: 
     119                    t = tags.copy() 
     120                    t.update({tag_d: val_d}) 
     121                    assert not self.p.way({}, t, None), t 
     122 
     123        for tags in other_tags: 
     124            for tag_d in self.p.tag_date: 
     125                for val_d in correct_dates: 
     126                    t = tags.copy() 
     127                    t.update({tag_d: val_d}) 
     128                    assert not self.p.relation({}, t, None), t 
     129 
     130    def test_timestamp(self): 
     131         tags = {"construction": "yes"} 
     132         for ts in ["2003-01-04", "1989-03-10"]: 
     133             assert self.p.node({"timestamp": ts}, tags), ts 
     134         for ts in ["2078-01-04"]: 
     135             assert not self.p.node({"timestamp": ts}, tags), ts 
  • plugins/Name_Initials.py

    r65e8ba3 r65aef2b  
    4444    def relation(self, data, tags, members): 
    4545        return self.node(data, tags) 
     46 
     47########################################################################### 
     48from plugins.Plugin import TestPluginCommon 
     49 
     50class Test(TestPluginCommon): 
     51    def setUp(self): 
     52        TestPluginCommon.setUp(self) 
     53        self.p = Name_Initials(None) 
     54        self.p.init(None) 
     55 
     56    def test(self): 
     57        assert self.p.node(None, {"name": "A.Bsuaeuae"}) 
     58        assert self.p.way(None, {"name": "C.Dkuaeu"}, None) 
     59        assert not self.p.relation(None, {"name": "E. Fiuaeuie"}, None) 
     60        assert not self.p.node(None, {"name": "G.H."}) 
     61        assert not self.p.node(None, {"name": "GeHaueue"}) 
  • plugins/Name_Multiple.py

    r65e8ba3 r65aef2b  
    4646        if self.Re3.match(tags["name"]): 
    4747            return [(705,2,{"en": "name=%s" % tags["name"]})] 
     48 
     49########################################################################### 
     50from plugins.Plugin import TestPluginCommon 
     51 
     52class Test(TestPluginCommon): 
     53    def setUp(self): 
     54        TestPluginCommon.setUp(self) 
     55        self.p = Name_Multiple(None) 
     56        self.p.init(None) 
     57 
     58    def test(self): 
     59        assert self.p.way(None, {"name": "aueuie ; ueuaeuie"}, None) 
     60        assert self.p.way(None, {"name": "aueuie / ueuaeuie"}, None) 
     61        assert self.p.way(None, {"name": "aueuie + ueuaeuie"}, None) 
     62        assert not self.p.way(None, {"name": "aueuie + ueuaeuie", "aeroway": "yes"}, None) 
  • plugins/Name_Saint.py

    r65e8ba3 r65aef2b  
    4545    def relation(self, data, tags, members): 
    4646        return self.node(data, tags) 
     47 
     48########################################################################### 
     49from plugins.Plugin import TestPluginCommon 
     50 
     51class Test(TestPluginCommon): 
     52    def setUp(self): 
     53        TestPluginCommon.setUp(self) 
     54        self.p = Name_Saint(None) 
     55        self.p.init(None) 
     56 
     57    def test(self): 
     58        assert self.p.node(None, {"name": "Saint Pierre"}) 
     59        assert self.p.way(None, {"name": "Sainte Julie"}, None) 
     60        assert not self.p.relation(None, {"name": "Saint-Matthieu"}, None) 
     61        assert not self.p.way(None, {"name": "Sainte-Sophie"}, None) 
Note: See TracChangeset for help on using the changeset viewer.