From 2732c77c34871d5064785ec05fbf76e250e6c56d Mon Sep 17 00:00:00 2001
From: Hatice Yildirim <hatice.yildirim@student.reutlingen-university.de>
Date: Sun, 23 Mar 2025 16:57:03 +0000
Subject: [PATCH 1/7] Delete hello.py

---
 hello.py | 1 -
 1 file changed, 1 deletion(-)
 delete mode 100644 hello.py

diff --git a/hello.py b/hello.py
deleted file mode 100644
index 6d95fe9..0000000
--- a/hello.py
+++ /dev/null
@@ -1 +0,0 @@
-print("Hello world")
\ No newline at end of file
-- 
GitLab


From 461d7244a7accb53d6f710d1ea5a03c8e5b8afb2 Mon Sep 17 00:00:00 2001
From: Hatice Yildirim <Hatice.Yildirim@student.reutlingen-university.de>
Date: Sat, 22 Mar 2025 12:40:07 +0100
Subject: [PATCH 2/7] Mein Commit

---
 calculator.py | 13 +++++++++++++
 counter.py    | 35 +++++++++++++++++++++++++++++++++++
 test.py       |  5 +++++
 3 files changed, 53 insertions(+)
 create mode 100644 calculator.py
 create mode 100644 counter.py
 create mode 100644 test.py

diff --git a/calculator.py b/calculator.py
new file mode 100644
index 0000000..79532fc
--- /dev/null
+++ b/calculator.py
@@ -0,0 +1,13 @@
+import unittest
+
+class Calculator:
+    def add(self, a, b):
+        return a + b
+
+class TestCalculator(unittest.TestCase):
+    def test_add(self):
+        c = Calculator()
+        self.assertEqual(c.add(2,3), 5)
+
+if __name__ == '__main__':
+    unittest.main()
\ No newline at end of file
diff --git a/counter.py b/counter.py
new file mode 100644
index 0000000..f6ee3bb
--- /dev/null
+++ b/counter.py
@@ -0,0 +1,35 @@
+#Bei Einhabe des Strings "Decker" liefert die Funktion 3
+#Bei Eingabe eines leeren Strings soll 0 ausgegeben werden
+#Bei Eingabe des Strings "Hallo" ohne E und D soll 0 ausgegeben werden
+
+from abc import ABC,abstractmethod
+import unittest
+
+class ICounter (ABC):
+    @abstractmethod
+    def count_ED(self,s):
+        pass
+
+class Counter (ICounter):
+    #def count_ED(self,s):
+    #return s.count("e")+s.count("D")
+    pass
+
+class TestCounter (unittest.TestCase):
+    def test_count_ED_regular (self):
+        c=Counter()
+        res=c.count_ED ("Decker")
+        self.assertEqual(res,3)
+    def test_count_ED_empty (self):
+        c=Counter()
+        res=c.count_ED ("")
+        self.assertEqual(res,0)
+    def test_count_ED_wo (self):
+        '''Testet einen String ohne E und D'''
+        c=Counter()
+        res=c.count_ED ("Hallo")
+        self.assertEqual(res,0)
+    
+
+if __name__=="__main__":
+    unittest.main()
diff --git a/test.py b/test.py
new file mode 100644
index 0000000..d40dcf9
--- /dev/null
+++ b/test.py
@@ -0,0 +1,5 @@
+#Meine Übung, um es zu verstehen!
+class Employee:
+    def __init__(self, name, age):
+        self.name = name
+        self.age = age
\ No newline at end of file
-- 
GitLab


From 2c06d96b79aeb4ceb224bd8764eeb8c2960edfd3 Mon Sep 17 00:00:00 2001
From: Hatice Yildirim <Hatice.Yildirim@student.reutlingen-university.de>
Date: Sun, 23 Mar 2025 17:46:42 +0100
Subject: [PATCH 3/7] =?UTF-8?q?F=C3=BCge=20converter.py=20zum=20Develop-Br?=
 =?UTF-8?q?anch=20hinzu?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 converter.py | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 converter.py

diff --git a/converter.py b/converter.py
new file mode 100644
index 0000000..b70c932
--- /dev/null
+++ b/converter.py
@@ -0,0 +1,42 @@
+#
+
+import unittest
+from abc import ABC, abstractmethod
+
+class IRomanNumber(ABC):
+    @abstractmethod
+    def convert(self, n:int) -> str:
+        pass
+
+class RomanNumber(IRomanNumber):
+    def convert(self, n: int) -> str:
+        roman_numerals = {
+            1: "I",  2: "II", 3: "III", 
+            4: "IV",  5: "V", 9: "IX", 
+            21: "XXI",  50: "L", 100: "C",
+            500: "D",  1000: "M" 
+        }
+        return roman_numerals.get(n, "")
+
+class TestRomanConverter(unittest.TestCase):
+    def setUp(self):
+        self.converter = RomanNumber()
+
+    def test_single_value(self):
+        self.assertEqual(self.converter.convert(1), "I")
+        self.assertEqual(self.converter.convert(2), "II")
+        self.assertEqual(self.converter.convert(3), "III")
+        self.assertEqual(self.converter.convert(4), "IV")
+        self.assertEqual(self.converter.convert(5), "V")
+        self.assertEqual(self.converter.convert(9), "IX")
+        self.assertEqual(self.converter.convert(21), "XXI")
+        self.assertEqual(self.converter.convert(50), "L")
+        self.assertEqual(self.converter.convert(100), "C")
+        self.assertEqual(self.converter.convert(500), "D")
+        self.assertEqual(self.converter.convert(1000), "M")
+
+
+
+
+if __name__ == "__main__":
+    unittest.main()
-- 
GitLab


From cdcc7dd90c567da0f2fb7a20651369fc0797b959 Mon Sep 17 00:00:00 2001
From: Hatice Yildirim <Hatice.Yildirim@student.reutlingen-university.de>
Date: Sun, 23 Mar 2025 18:07:55 +0100
Subject: [PATCH 4/7] =?UTF-8?q?F=C3=BCge=20converter.py=20zu=20Develop-Bra?=
 =?UTF-8?q?nch=20hinzu?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 counter.py | 2 +-
 test.py    | 5 -----
 2 files changed, 1 insertion(+), 6 deletions(-)
 delete mode 100644 test.py

diff --git a/counter.py b/counter.py
index f6ee3bb..61fb094 100644
--- a/counter.py
+++ b/counter.py
@@ -29,7 +29,7 @@ class TestCounter (unittest.TestCase):
         c=Counter()
         res=c.count_ED ("Hallo")
         self.assertEqual(res,0)
-    
+    def
 
 if __name__=="__main__":
     unittest.main()
diff --git a/test.py b/test.py
deleted file mode 100644
index d40dcf9..0000000
--- a/test.py
+++ /dev/null
@@ -1,5 +0,0 @@
-#Meine Übung, um es zu verstehen!
-class Employee:
-    def __init__(self, name, age):
-        self.name = name
-        self.age = age
\ No newline at end of file
-- 
GitLab


From de90d7a16c69f616a786ac521c2c394b57db08ff Mon Sep 17 00:00:00 2001
From: Hatice Yildirim <Hatice.Yildirim@student.reutlingen-university.de>
Date: Sun, 23 Mar 2025 19:25:55 +0100
Subject: [PATCH 5/7] Add converter.py

---
 counter.py | 38 ++++++++++++++++++++++++++++----------
 1 file changed, 28 insertions(+), 10 deletions(-)

diff --git a/counter.py b/counter.py
index 61fb094..73ac095 100644
--- a/counter.py
+++ b/counter.py
@@ -11,25 +11,43 @@ class ICounter (ABC):
         pass
 
 class Counter (ICounter):
-    #def count_ED(self,s):
-    #return s.count("e")+s.count("D")
-    pass
+    def count_ED(self,s):
+        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):
-        c=Counter()
-        res=c.count_ED ("Decker")
+        res=self.c.count_ED ("Decker")
         self.assertEqual(res,3)
+
     def test_count_ED_empty (self):
-        c=Counter()
-        res=c.count_ED ("")
+        res=self.c.count_ED ("")
         self.assertEqual(res,0)
+
     def test_count_ED_wo (self):
         '''Testet einen String ohne E und D'''
-        c=Counter()
-        res=c.count_ED ("Hallo")
+        res=self.c.count_ED ("Hallo")
         self.assertEqual(res,0)
-    def
+
+    def test_count_ED_insensitive(self):
+        '''Testet verschiedene Groß- und Kleinschreibungen'''
+        res=self.c.count_ED("Der Esel")
+        self.assertEqual(res, 4)
+
+    def test_count_ED_single_letter(self):
+        '''Testet Eingaben mit nur einem Buchstaben'''
+        res=self.c.count_ED("D")
+        self.assertEqual(res, 1)
+        res=self.c.count_ED("E")
+        self.assertEqual(res, 1)
+        res=self.c.count_ED("d")
+        self.assertEqual(res, 1)
+        res=self.c.count_ED("e")
+        self.assertEqual(res, 1)
 
 if __name__=="__main__":
     unittest.main()
-- 
GitLab


From 073340d6d9e745c033463ec309c7b8ff2efe2def Mon Sep 17 00:00:00 2001
From: Hatice Yildirim <Hatice.Yildirim@student.reutlingen-university.de>
Date: Sun, 23 Mar 2025 19:28:05 +0100
Subject: [PATCH 6/7] Remove counter.py and calculator.py

---
 calculator.py | 13 -------------
 counter.py    | 53 ---------------------------------------------------
 2 files changed, 66 deletions(-)
 delete mode 100644 calculator.py
 delete mode 100644 counter.py

diff --git a/calculator.py b/calculator.py
deleted file mode 100644
index 79532fc..0000000
--- a/calculator.py
+++ /dev/null
@@ -1,13 +0,0 @@
-import unittest
-
-class Calculator:
-    def add(self, a, b):
-        return a + b
-
-class TestCalculator(unittest.TestCase):
-    def test_add(self):
-        c = Calculator()
-        self.assertEqual(c.add(2,3), 5)
-
-if __name__ == '__main__':
-    unittest.main()
\ No newline at end of file
diff --git a/counter.py b/counter.py
deleted file mode 100644
index 73ac095..0000000
--- a/counter.py
+++ /dev/null
@@ -1,53 +0,0 @@
-#Bei Einhabe des Strings "Decker" liefert die Funktion 3
-#Bei Eingabe eines leeren Strings soll 0 ausgegeben werden
-#Bei Eingabe des Strings "Hallo" ohne E und D soll 0 ausgegeben werden
-
-from abc import ABC,abstractmethod
-import unittest
-
-class ICounter (ABC):
-    @abstractmethod
-    def count_ED(self,s):
-        pass
-
-class Counter (ICounter):
-    def count_ED(self,s):
-        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):
-        res=self.c.count_ED ("Decker")
-        self.assertEqual(res,3)
-
-    def test_count_ED_empty (self):
-        res=self.c.count_ED ("")
-        self.assertEqual(res,0)
-
-    def test_count_ED_wo (self):
-        '''Testet einen String ohne E und D'''
-        res=self.c.count_ED ("Hallo")
-        self.assertEqual(res,0)
-
-    def test_count_ED_insensitive(self):
-        '''Testet verschiedene Groß- und Kleinschreibungen'''
-        res=self.c.count_ED("Der Esel")
-        self.assertEqual(res, 4)
-
-    def test_count_ED_single_letter(self):
-        '''Testet Eingaben mit nur einem Buchstaben'''
-        res=self.c.count_ED("D")
-        self.assertEqual(res, 1)
-        res=self.c.count_ED("E")
-        self.assertEqual(res, 1)
-        res=self.c.count_ED("d")
-        self.assertEqual(res, 1)
-        res=self.c.count_ED("e")
-        self.assertEqual(res, 1)
-
-if __name__=="__main__":
-    unittest.main()
-- 
GitLab


From 4c9db96e8185d6c4ba407e8b5801b51802e271ce Mon Sep 17 00:00:00 2001
From: Hatice Yildirim <Hatice.Yildirim@student.reutlingen-university.de>
Date: Sun, 23 Mar 2025 20:26:46 +0100
Subject: [PATCH 7/7] =?UTF-8?q?Verbesserte=20Version=20von=20converter.py?=
 =?UTF-8?q?=20hinzugef=C3=BCgt?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 converter.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/converter.py b/converter.py
index b70c932..0ef9bd0 100644
--- a/converter.py
+++ b/converter.py
@@ -1,4 +1,5 @@
-#
+#Bei Eingabe von Zahlen, die in der Liste definiert sind, sollen römische Zhalen zurückgegeben werden.
+#Bei Eingabe von Zahlen, die nicht in der Liste definiert ist, soll ein "" ausgeben werden.
 
 import unittest
 from abc import ABC, abstractmethod
@@ -34,6 +35,12 @@ class TestRomanConverter(unittest.TestCase):
         self.assertEqual(self.converter.convert(100), "C")
         self.assertEqual(self.converter.convert(500), "D")
         self.assertEqual(self.converter.convert(1000), "M")
+    
+    def test_inivalid_numbers(self):
+        self.assertEqual(self.converter.convert(6), "")
+        self.assertEqual(self.converter.convert(99), "")
+        self.assertEqual(self.converter.convert(-1), "")
+        
 
 
 
-- 
GitLab