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