コード例 #1
0
ファイル: test_report.py プロジェクト: OSM-es/CatAtom2Osm
 def test_validate2(self):
     r = report.Report()
     r.inp_address_entrance = 1
     r.inp_address_parcel = 2
     r.inp_address = 4
     r.addresses_without_number = 1
     r.orphaned_addresses = 1
     r.multiple_addresses = 1
     r.refused_addresses = 1
     r.out_address_entrance = 1
     r.out_address_parcel = 2
     r.out_addr_str = 1
     r.out_addr_plc = 2
     r.out_address = 4
     r.inp_features = 7
     r.inp_buildings = 2
     r.inp_parts = 3
     r.inp_pools = 1
     r.building_counter = {"a": 1, "b": 2}
     r.out_buildings = 4
     r.out_features = 8
     r.validate()
     msgs = [
         "Sum of address types should be equal to the input addresses",
         ("Sum of output and deleted addresses should be equal to the input "
          "addresses"),
         "Sum of entrance and parcel addresses should be equal to output addresses",
         "Sum of street and place addresses should be equal to output addresses",
         "Sum of buildings, parts and pools should be equal to the feature count",
         "Sum of building types should be equal to the number of buildings",
         ("Sum of output and deleted minus created building features "
          "should be equal to input features"),
     ]
     for msg in msgs:
         self.assertIn(msg, r.errors)
コード例 #2
0
ファイル: test_report.py プロジェクト: OSM-es/CatAtom2Osm
 def test_validate1(self):
     r = report.Report()
     r.inp_address_entrance = 7
     r.inp_address_parcel = 5
     r.inp_address = 12
     r.addresses_without_number = 1
     r.orphaned_addresses = 2
     r.multiple_addresses = 1
     r.refused_addresses = 2
     r.out_address_entrance = 5
     r.out_address_parcel = 1
     r.out_addr_str = 4
     r.out_addr_plc = 2
     r.out_address = 6
     r.inp_features = 6
     r.inp_buildings = 2
     r.inp_parts = 3
     r.inp_pools = 1
     r.building_counter = {"a": 1, "b": 2}
     r.out_buildings = 3
     r.out_features = 6
     r.outside_parts = 1
     r.underground_parts = 1
     r.multipart_geoms_building = 2
     r.exploded_parts_building = 4
     r.validate()
     self.assertEqual(len(r.errors), 0)
コード例 #3
0
ファイル: test_report.py プロジェクト: OSM-es/CatAtom2Osm
 def test_fixme_stats(self):
     r = report.Report()
     r.fixme_counter = {}
     r.fixme_stats()
     self.assertEqual(r.fixme_stats(), 0)
     r.fixme_counter = {"a": 1, "b": 2}
     r.fixme_stats()
     self.assertEqual(r.fixme_stats(), 3)
     self.assertEqual(len(r.fixmes), 2)
コード例 #4
0
ファイル: test_report.py プロジェクト: OSM-es/CatAtom2Osm
 def test_cons_end_stats(self):
     r = report.Report()
     r.max_level = {"a": 1, "b": 2, "c": 2}
     r.min_level = {"a": 1, "b": 1, "c": 2}
     r.building_counter = {"a": 1, "b": 2}
     r.cons_end_stats()
     self.assertEqual(set(r.dlag.split(", ")),
                      set("1: 1, 2: 2".split(", ")))
     self.assertEqual(set(r.dlbg.split(", ")),
                      set("1: 2, 2: 1".split(", ")))
     self.assertEqual(set(r.building_types.split(", ")),
                      set("a: 1, b: 2".split(", ")))
コード例 #5
0
ファイル: test_report.py プロジェクト: OSM-es/CatAtom2Osm
 def test_address_stats(self):
     ad = osm.Osm()
     ad.Node(0, 0, {"addr:street": "s1"})
     ad.Node(2, 0, {"addr:street": "s2", "entrance": "yes"})
     ad.Node(4, 0, {"addr:place": "p1", "entrance": "yes"})
     ad.Way([], {"addr:street": "s3"})
     r = report.Report()
     r.address_stats(ad)
     self.assertEqual(r.out_addr_str, 3)
     self.assertEqual(r.out_addr_plc, 1)
     self.assertEqual(r.out_address_entrance, 2)
     self.assertEqual(r.out_address_parcel, 2)
コード例 #6
0
ファイル: test_report.py プロジェクト: OSM-es/CatAtom2Osm
 def test_to_file(self):
     r = report.Report()
     r.mun_name = "áéíóúñ"
     r.start_time = None
     output = r.to_string()
     fn = "test_report.txt"
     r.to_file(fn)
     with io.open(fn, "r", encoding=config.encoding) as fo:
         text = str(fo.read())
         text = text.replace("\n\n", config.eol)
     self.assertEqual(output, text)
     if os.path.exists(fn):
         os.remove(fn)
コード例 #7
0
ファイル: test_report.py プロジェクト: OSM-es/CatAtom2Osm
 def test_to_string2(self):
     r = report.Report()
     r.start_time = None
     r.fixme_count = 2
     r.fixmes = ["f1", "f2"]
     r.warnings = ["w1", "w2"]
     output = r.to_string()
     expected = ("Date: " + datetime.now().strftime("%x") + config.eol +
                 config.eol + "=Problems=" + config.eol + "Fixmes: 2" +
                 config.eol + report.TAB + "f1" + config.eol + report.TAB +
                 "f2" + config.eol + "Warnings: 2" + config.eol +
                 report.TAB + "w1" + config.eol + report.TAB + "w2" +
                 config.eol + config.eol + config.fixme_doc_url)
     self.assertEqual(output, expected)
コード例 #8
0
ファイル: test_report.py プロジェクト: OSM-es/CatAtom2Osm
 def test_to_string1(self):
     r = report.Report()
     r.start_time = None
     r.mun_name = "Foobar"
     r.code = 99999
     r.inp_zip_codes = 1000
     r.fixmes = []
     output = r.to_string()
     expected = ("Municipality: Foobar" + config.eol + "Date: " +
                 datetime.now().strftime("%x") + config.eol + config.eol +
                 "=Addresses=" + config.eol + config.eol +
                 "==Input data==" + config.eol + "Postal codes: " +
                 report.int_format(1000) + config.eol + config.eol +
                 config.fixme_doc_url)
     self.assertEqual(output, expected)
コード例 #9
0
ファイル: test_report.py プロジェクト: OSM-es/CatAtom2Osm
 def test_cons_stats(self):
     r = report.Report()
     r.building_counter = Counter()
     data = osm.Osm()
     data.Node(0, 0, {"leisure": "swimming_pool"})
     data.Node(0, 0, {"building": "a", "fixme": "f1"})
     data.Node(0, 0, {"building": "b", "fixme": "f2"})
     data.Node(0, 0, {"building:part": "yes", "fixme": "f2"})
     data.Node(0, 0)
     r.cons_stats(data)
     self.assertEqual(r.out_pools, 1)
     self.assertEqual(r.out_buildings, 2)
     self.assertEqual(r.out_parts, 1)
     self.assertEqual(r.building_counter["a"], 1)
     self.assertEqual(r.building_counter["b"], 1)
     self.assertEqual(r.fixme_counter["f1"], 1)
     self.assertEqual(r.fixme_counter["f2"], 2)
コード例 #10
0
ファイル: test_report.py プロジェクト: OSM-es/CatAtom2Osm
 def test_from_file(self, m_open):
     r = report.Report()
     t = ('{"mun_name": "foobar",\n'
          '"mun_code": 12345,\n'
          '"app_version": "taz",\n'
          '"address_date": "2021-09-11",\n'
          '"building_date": "2021-06-22"}')
     e = mock.MagicMock()
     fo = mock.MagicMock()
     fo.read.return_value = t
     e.__enter__.return_value = fo
     m_open.return_value = e
     r.from_file("")
     self.assertEqual(r.mun_name, "foobar")
     self.assertEqual(r.mun_code, 12345)
     self.assertEqual(r.app_version, "taz")
     self.assertEqual(r.building_date, "2021-06-22")
     self.assertEqual(r.address_date, "2021-09-11")
コード例 #11
0
ファイル: test_report.py プロジェクト: OSM-es/CatAtom2Osm
 def test_inc(self):
     r = report.Report()
     r.inc("nodes")
     self.assertEqual(r.nodes, 1)
     r.inc("nodes", 2)
     self.assertEqual(r.nodes, 3)
コード例 #12
0
ファイル: test_report.py プロジェクト: OSM-es/CatAtom2Osm
 def test_get(self):
     r = report.Report()
     self.assertEqual(r.get("foo", "bar"), "bar")
     self.assertEqual(r.get("bar"), 0)
コード例 #13
0
ファイル: test_report.py プロジェクト: OSM-es/CatAtom2Osm
 def test_getattr(self):
     r = report.Report()
     r.values["mun_name"] = "foobar"
     self.assertEqual(r.mun_name, "foobar")
コード例 #14
0
ファイル: test_report.py プロジェクト: OSM-es/CatAtom2Osm
 def test_init(self):
     r = report.Report(mun_name="bar")
     self.assertEqual(r.mun_name, "bar")
コード例 #15
0
ファイル: test_report.py プロジェクト: OSM-es/CatAtom2Osm
 def test_to_string3(self):
     r = report.Report(sys_info=True)
     output = r.to_string()
     expected = locale.format_string("Execution time: %.1f seconds",
                                     r.ex_time, 1)
     self.assertIn(expected, output)
コード例 #16
0
ファイル: test_report.py プロジェクト: OSM-es/CatAtom2Osm
 def test_to_string0(self):
     r = report.Report()
     r.start_time = None
     output = r.to_string()
     expected = "Date: " + datetime.now().strftime("%x") + config.eol
     self.assertEqual(output, expected)