Changeset b755753 in osmose-backend


Ignore:
Timestamp:
Jun 1, 2014 10:42:41 PM (5 years ago)
Author:
Jocelyn Jaubert <jocelyn.jaubert@…>
Branches:
master
Children:
cc0dab7
Parents:
25a9e5b
git-author:
Jocelyn Jaubert <jocelyn.jaubert@…> (10/05/2014 21:15:45)
git-committer:
Jocelyn Jaubert <jocelyn.jaubert@…> (01/06/2014 22:42:41)
Message:

Move some test code to Analyser.py

Location:
analysers
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • analysers/Analyser.py

    rf3563b5 rb755753  
    6666        """ 
    6767        return int(abs(int(hashlib.md5(s.encode("utf-8")).hexdigest(), 16)) % 2147483647) 
     68 
     69########################################################################### 
     70import unittest 
     71 
     72class TestAnalyser(unittest.TestCase): 
     73    @classmethod 
     74    def setup_class(cls): 
     75        import __builtin__ 
     76        import sys 
     77        sys.path.append(".") 
     78        import modules.OsmoseLog 
     79        if not hasattr(__builtin__, "logger"): 
     80            __builtin__.logger = modules.OsmoseLog.logger(sys.stdout, True) 
     81 
     82    @classmethod 
     83    def teardown_class(cls): 
     84        pass 
     85 
     86 
     87    def load_errors(self): 
     88        import xml.etree.ElementTree as ET 
     89        tree = ET.parse(self.xml_res_file) 
     90        return tree.getroot() 
     91 
     92    def check_err(self, cl=None, lat=None, lon=None, elems=None): 
     93        for e in self.root_err.find("analyser").findall('error'): 
     94            if cl is not None and e.attrib["class"] != cl: 
     95               continue 
     96            if lat is not None and e.find("location").attrib["lat"] != lat: 
     97               continue 
     98            if lon is not None and e.find("location").attrib["lon"] != lon: 
     99               continue 
     100            if elems is not None: 
     101               xml_elems = [] 
     102               for t in ("node", "way", "relation"): 
     103                   for err_elem in e.findall(t): 
     104                       xml_elems.append((t, err_elem.attrib["id"])) 
     105               if set(elems) != set(xml_elems): 
     106                   continue 
     107            return True 
     108 
     109        assert False, "Error not found" 
     110 
     111    def check_num_err(self, num): 
     112        xml_num = len(self.root_err.find("analyser").findall('error')) 
     113        self.assertEquals(num, xml_num, "Found %d errors instead of %d" % (xml_num, num)) 
  • analysers/Analyser_Osmosis.py

    r25a9e5b rb755753  
    230230 
    231231########################################################################### 
    232 import unittest 
    233  
    234 class TestOsmosisCommon(unittest.TestCase): 
    235     @classmethod 
    236     def setup_class(cls): 
    237         import __builtin__ 
    238         import sys 
    239         sys.path.append(".") 
    240         import modules.OsmoseLog 
    241         if not hasattr(__builtin__, "logger"): 
    242             __builtin__.logger = modules.OsmoseLog.logger(sys.stdout, True) 
    243  
     232from Analyser import TestAnalyser 
     233 
     234class TestAnalyserOsmosis(TestAnalyser): 
    244235    @classmethod 
    245236    def teardown_class(cls): 
     
    272263        return analyser_conf 
    273264 
    274     def load_errors(self): 
    275         import xml.etree.ElementTree as ET 
    276         tree = ET.parse(self.xml_res_file) 
    277         return tree.getroot() 
    278  
    279     def check_err(self, cl=None, lat=None, lon=None, elems=None): 
    280         for e in self.root_err.find("analyser").findall('error'): 
    281             if cl is not None and e.attrib["class"] != cl: 
    282                continue 
    283             if lat is not None and e.find("location").attrib["lat"] != lat: 
    284                continue 
    285             if lon is not None and e.find("location").attrib["lon"] != lon: 
    286                continue 
    287             if elems is not None: 
    288                xml_elems = [] 
    289                for t in ("node", "way", "relation"): 
    290                    for err_elem in e.findall(t): 
    291                        xml_elems.append((t, err_elem.attrib["id"])) 
    292                if set(elems) != set(xml_elems): 
    293                    continue 
    294             return True 
    295  
    296         assert False, "Error not found" 
    297  
    298     def check_num_err(self, num): 
    299         xml_num = len(self.root_err.find("analyser").findall('error')) 
    300         self.assertEquals(num, xml_num, "Found %d errors instead of %d" % (xml_num, num)) 
    301  
    302  
    303265    @classmethod 
    304266    def clean(cls): 
  • analysers/analyser_osmosis_roundabout_reverse.py

    r25a9e5b rb755753  
    5757########################################################################### 
    5858 
    59 from Analyser_Osmosis import TestOsmosisCommon 
     59from Analyser_Osmosis import TestAnalyserOsmosis 
    6060 
    61 class Test(TestOsmosisCommon): 
     61class Test(TestAnalyserOsmosis): 
    6262    @classmethod 
    6363    def setup_class(cls): 
    64         TestOsmosisCommon.setup_class() 
     64        TestAnalyserOsmosis.setup_class() 
    6565        cls.conf = cls.load_osm("tests/osmosis_roundabout_reverse.test.osm", 
    6666                                  "tests/out/osmosis_roundabout_reverse.test.xml", 
Note: See TracChangeset for help on using the changeset viewer.