From 0b864dfee9355f3efd6d6aec6711dd13ead8f45d Mon Sep 17 00:00:00 2001 From: Olli Graf Date: Fri, 19 Jul 2024 09:16:56 +0200 Subject: [PATCH] plztest.py in teil16 fehlte. --- teil16/plztest.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 teil16/plztest.py diff --git a/teil16/plztest.py b/teil16/plztest.py new file mode 100644 index 0000000..2e93320 --- /dev/null +++ b/teil16/plztest.py @@ -0,0 +1,47 @@ +# coding: utf-8 +import unittest +import logging +import re #regular expressions + +logging.basicConfig( format='%(asctime)-15s [%(levelname)s] %(funcName)s: %(message)s', level=logging.DEBUG) + +class TestPLZ(unittest.TestCase): + +# Korrektes Format der PLZ prüfen. Falsche Version + + def checkPLZ_falsch(self,plz): + try: + if len(pl) == 5 and int(plz) > 0: + return True + except ValueError: + pass + + return False + + def checkPLZ_korrekt(self,plz): +#regulären Audruck aufbauen, genau 5 Ziffern. + pattern = re.compile('\d\d\d\d\d') +#Ausdruck auf String anwenden. + return pattern.match(plz) + + +# Die setUp() Methode wird zu Beginn jedes Testcases aufgrufen + def setUp(self): + logging.debug('setting up test') + self.testdaten = ['42287','42289','42119','42277','44139','-1111'] + + def test_false_positive(self): + + for plz in self.testdaten: + self.assertTrue(self.checkPLZ_falsch(plz)) + + def test_plz(self): + + logging.debug('starte test_plz()') + for plz in self.testdaten: + logging.debug(f'teste ${plz}') + self.assertTrue(self.checkPLZ_korrekt(plz)) + +if __name__ == '__main__': + unittest.main() +