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