From 8d57bd079065db8683a8abe2a9dfdc8d8ad23d78 Mon Sep 17 00:00:00 2001 From: Marvin Serchimo <marvin.serchimo@student.reutlingen-university.de> Date: Thu, 27 Mar 2025 15:55:10 +0100 Subject: [PATCH] ICounter --- .DS_Store | Bin 6148 -> 6148 bytes ICounter.py | 56 ++++++++++++++++++++++++++++++++++++++++++ Testliste Counter Str | 5 ++++ 3 files changed, 61 insertions(+) create mode 100644 ICounter.py create mode 100644 Testliste Counter Str diff --git a/.DS_Store b/.DS_Store index 68586da00124b12933dffab2131c028d80d8be1e..a1007fa1bab5176a6eaa100d5bab06e9d4969a0f 100644 GIT binary patch literal 6148 zcmeHKO-lnY5Phiyt5pyY^djspDEJRntw;}E)cdNne!yx)TR(1l_pb>4K2Q2)66)?Y zJqaQ*1If!K^JXV6WU~R_cE;yhzzTpCi(qq+Rm5am%9J%i&l1sTj6P1$#}x+1ro64g z6fgz;ngX(S+uW@g?(o9B`@Mg&UOw!f<-;?2$mijmrSqxA7O<?|IqNZU@<tfq9vz8O zWxCfIb3Mw;aE)6=88FI)<}rvy+pI-f!#<fK&EbyoNEl^+C$=uwpR?WJ=rcyOtUhXS z+UQ}Ia~Myuh|HyNS!2!PhPg`S5pQhM`>mwe0uHgq-YyP^9dggBSt+Bc@&n^P>K9eC zdEi{4^U?JwziVE#^#1WRDSNj{-m}yy`>#&?v*>C@)NrzL<rvF24l~NBpkz8@tyJ|g zlYz{BtN_n!u~yro)uw<cU<ynWkncmnBA5m&JnE-|m0kgeO?IoXEk6swNdl$;3y&P3 zIZq{estZ>P=jrTEf?pc2@aXAq;qu|an_ak}IDI?gC+ZHDdbHXUFa@d#%=yO^Isf-& z-~X#5dol$~fq$idYj%&iJDgHDTc;)`XKliA!XhSqg-4~Z3dgZF<S5=?QR7%54PqLw S@W>vT{RpTGR+$37s=yZkZo@19 delta 91 zcmZoMXfc=|#>CJzu~2NHo}wrt0|NsP3otPFGPpA6G2}9&c;-wjRA*$IT*hj;S&T!F qWn+UW^JaDqeh#3n&4L`?nJ4p$=yHNI9spv7$u>OFn`1<lFarQ}{S!?9 diff --git a/ICounter.py b/ICounter.py new file mode 100644 index 0000000..2136b32 --- /dev/null +++ b/ICounter.py @@ -0,0 +1,56 @@ +from abc import ABC,abstractmethod +from calendar import c +import unittest +from weakref import ref + +#Interface +class ICounter (ABC): + @abstractmethod + def count_ED(self,s): + pass + +# Implementierung Klasse +class Counter (ICounter): + def count_ED (self,): + s=s.upper() + return s.count("D")+s.count("E") + +class TestCounter (unittest. TestCase): + def setUp(self): + self.c= Counter() + + def test_count_ED_regular (self): + self.c + res=c.count_ED ("Decker") + self.assertEqual(res,3) + + def test_count_ED_empty (self): + ergebnis=self.c.count_ED("") + self.assertCountEqual(ergebnis,0) + + def test_count_ED_wo (self): + """testet einen string ohne E und D""" + ergebnis=self.c.count_ED("Hallo") + self.assertEqual(ergebnis, 0) + + def test_count_ED_insensitive(self): + """TEstes verschiedene Groß und Kleinschreibungen""" + ergebnis=self.c.count_ED("Der Esel") + self.assertEqual(ergebnis, 4) + + def test_count_ED_single_letter(self): + """Testet Eingaben nur mit einem Buchstaben""" + ergebnis=self.c.count_ED("D") + self.assertEqual(ergebnis,1) + ergebnis=self.c.count_ED("E") + self.assertEqual(ergebnis,1) + ergebnis=self.c.count_ED("d") + self.assertEqual(ergebnis,1) + ergebnis=self.c.count_ED("e") + self.assertEqual(ergebnis,1) + + +if __name__=="__main__": + unittest.main() + + diff --git a/Testliste Counter Str b/Testliste Counter Str new file mode 100644 index 0000000..784ee1d --- /dev/null +++ b/Testliste Counter Str @@ -0,0 +1,5 @@ +Testliste Counter Str +Bei Eingabe des Strings Decker liefert die Funktion 3 +Bei Eingabe eines leeren Strings soll 0 ausgegeben werden +Bei Eingabe des Srings "Hallo" ohne e und D soll 0 ausgegeben werden +Bei Eingabe von dem String "Der Esel" soll großgroß-kleinschreibung (caseinsensitive ) gezählt werden \ No newline at end of file -- GitLab