From 7ddeafb9675069369f6e07932e3ccf065ae0b1df Mon Sep 17 00:00:00 2001 From: Daniel Rafeh <daniel.rafeh@student.reutlingen-university.de> Date: Tue, 18 Mar 2025 17:09:02 +0000 Subject: [PATCH 01/33] Delete test.py --- test.py | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 test.py diff --git a/test.py b/test.py deleted file mode 100644 index f027fd1..0000000 --- a/test.py +++ /dev/null @@ -1,24 +0,0 @@ -import unittest - -class Person: - def __init__(self, name, age): - self.name = name - self.age = age - - def adult(self): - return self.age >= 18 - -class TestPerson(unittest.TestCase): - def test_if_adult(self): - person1 = Person("Daniel", 24) - person2 = Person("Wasilios", 21) - person3 = Person("Goksis", 12) - - self.assertTrue(person1.adult()) - self.assertTrue(person2.adult()) - self.assertFalse(person3.adult()) - - - -if __name__ == "__main__": - unittest.main() -- GitLab From 33764eb2ff3adf30aad98769b4d54555d7a00505 Mon Sep 17 00:00:00 2001 From: Daniel Rafeh <daniel.rafeh@student.reutlingen-university.de> Date: Tue, 18 Mar 2025 17:09:08 +0000 Subject: [PATCH 02/33] Delete unittestExample1.py --- unittestExample1.py | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 unittestExample1.py diff --git a/unittestExample1.py b/unittestExample1.py deleted file mode 100644 index 55c1a53..0000000 --- a/unittestExample1.py +++ /dev/null @@ -1,27 +0,0 @@ -import unittest - -class Person: - def __init__(self, name, age): - self.name = name - self.age = age - - def adult(self): - return self.age >= 18 - -class TestPerson(unittest.TestCase): - def test_if_adult(self): - person1 = Person("Daniel", 24) - person2 = Person("Wasilios", 21) - person3 = Person("Goksis", 12) - - self.assertTrue(person1.adult()) - self.assertTrue(person2.adult()) - self.assertFalse(person3.adult()) - - - -if __name__ == "__main__": - unittest.main() - - - -- GitLab From d129e775b55d05f5054fb22021f2f4ecd2ae7e49 Mon Sep 17 00:00:00 2001 From: Daniel Rafeh <daniel.rafeh@student.reutlingen-university.de> Date: Tue, 18 Mar 2025 17:09:13 +0000 Subject: [PATCH 03/33] Delete unittestExample2.py --- unittestExample2.py | 37 ------------------------------------- 1 file changed, 37 deletions(-) delete mode 100644 unittestExample2.py diff --git a/unittestExample2.py b/unittestExample2.py deleted file mode 100644 index 84ff7a7..0000000 --- a/unittestExample2.py +++ /dev/null @@ -1,37 +0,0 @@ -import unittest - -def add(a, b): - return a + b - -def sub(a, b): - return a - b - -def mul(a, b): - return a * b - -def div(a, b): - return a / b - -class TestCalculation(unittest.TestCase): - def test_add(self): - self.assertEqual(add(1,2), 3) - self.assertEqual(add(8,7), 15) - self.assertEqual(add(200, 380), 580) - - def test_sub(self): - self.assertEqual(sub(2,1), 1) - self.assertEqual(sub(8,7), 1) - self.assertEqual(sub(380, 200), 180) - - def test_mul(self): - self.assertEqual(mul(2,5), 10) - self.assertEqual(mul(8,7), 56) - self.assertEqual(mul(3, 20), 60) - - def test_div(self): - self.assertEqual(div(10,5), 2) - self.assertEqual(div(8,1), 8) - self.assertEqual(div(200, 20), 10) - -if __name__ == "__main__": - unittest.main() \ No newline at end of file -- GitLab From e297c7097cc6f0161aa616a12e05d0a213139e84 Mon Sep 17 00:00:00 2001 From: Daniel Rafeh <daniel.rafeh@student.reutlingen-university.de> Date: Tue, 18 Mar 2025 17:09:32 +0000 Subject: [PATCH 04/33] Delete exampleApp.py --- .vscode/exampleApp.py | 47 ------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 .vscode/exampleApp.py diff --git a/.vscode/exampleApp.py b/.vscode/exampleApp.py deleted file mode 100644 index f703090..0000000 --- a/.vscode/exampleApp.py +++ /dev/null @@ -1,47 +0,0 @@ -import sqlite3 -from flask import Flask, request, jsonify - -def create_app(conn): - app = Flask(__name__) - - def create_user(cursor, name, email): - cursor.execute('''CREATE TABLE IF NOT EXISTS users ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - name TEXT NOT NULL, - email TEXT NOT NULL)''') - - cursor.execute('''INSERT INTO users (name, email) VALUES (?, ?)''', (name, email)) - cursor.connection.commit() - - def get_user(cursor, name): - cursor.execute('''SELECT * FROM users WHERE name = ?''', (name,)) - row = cursor.fetchone() - if row: - return {'id': row[0], 'name': row[1], 'email': row[2]} - return None - - @app.route('/create_user', methods=['POST']) - def api_create_user(): - data = request.get_json() - name = data.get('name') - email = data.get('email') - - # Verwende 'with' für den Cursor, um sicherzustellen, dass er ordnungsgemäß verwendet wird - with conn.cursor() as cursor: - create_user(cursor, name, email) - return jsonify({'message': 'User has been created successfully'}), 201 - - @app.route('/get_user/<name>', methods=['GET']) - def api_get_user(name): - with conn.cursor() as cursor: - user = get_user(cursor, name) - if user: - return jsonify(user), 200 - return jsonify({'message': 'User not found'}), 404 - - return app - -if __name__ == '__main__': - conn = sqlite3.connect(':memory:') - app = create_app(conn) - app.run(debug=True, port=8001) -- GitLab From f673161f77ebbacf2924241184289ee7536e7e28 Mon Sep 17 00:00:00 2001 From: Daniel Rafeh <daniel.rafeh@student.reutlingen-university.de> Date: Tue, 18 Mar 2025 17:09:36 +0000 Subject: [PATCH 05/33] Delete integrationTestExample1.py --- .vscode/integrationTestExample1.py | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 .vscode/integrationTestExample1.py diff --git a/.vscode/integrationTestExample1.py b/.vscode/integrationTestExample1.py deleted file mode 100644 index 9f6bfd8..0000000 --- a/.vscode/integrationTestExample1.py +++ /dev/null @@ -1,2 +0,0 @@ -import unittest -import sqlite3 -- GitLab From 29c48bc6ceb697095fa6a52942b3ebaf6d6ea836 Mon Sep 17 00:00:00 2001 From: Daniel Rafeh <daniel.rafeh@student.reutlingen-university.de> Date: Tue, 18 Mar 2025 17:09:41 +0000 Subject: [PATCH 06/33] Delete settings.json --- .vscode/settings.json | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 65d939f..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "python.testing.unittestArgs": [ - "-v", - "-s", - ".", - "-p", - "*test.py" - ], - "python.testing.pytestEnabled": false, - "python.testing.unittestEnabled": true -} \ No newline at end of file -- GitLab From 2e2ab859640bbdbaab37fe3665497e18b55954a3 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Tue, 18 Mar 2025 18:27:52 +0100 Subject: [PATCH 07/33] test --- helloWorld.py | 1 + 1 file changed, 1 insertion(+) create mode 100644 helloWorld.py diff --git a/helloWorld.py b/helloWorld.py new file mode 100644 index 0000000..8c64f79 --- /dev/null +++ b/helloWorld.py @@ -0,0 +1 @@ +print("Hello World :)") \ No newline at end of file -- GitLab From b6d7cd1e8143bbe37a8a33aba52aff7cfc064890 Mon Sep 17 00:00:00 2001 From: Daniel Rafeh <daniel.rafeh@student.reutlingen-university.de> Date: Tue, 18 Mar 2025 17:28:35 +0000 Subject: [PATCH 08/33] Update file main.py --- main.py | 1 - 1 file changed, 1 deletion(-) diff --git a/main.py b/main.py index 8e23576..e69de29 100644 --- a/main.py +++ b/main.py @@ -1 +0,0 @@ -print("Hello World") \ No newline at end of file -- GitLab From aaa555f66212c4e7c2ffcf5d306c6f8b945a8627 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 13:03:26 +0100 Subject: [PATCH 09/33] =?UTF-8?q?Liste=20f=C3=BCr=20Tests=20erstellt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __pycache__/calculator.cpython-312.pyc | Bin 0 -> 3501 bytes calculator.py | 66 +++++++++++++++++++++++++ converter.py | 33 +++++++++++++ counter.py | 55 +++++++++++++++++++++ test_calculator.py | 38 ++++++++++++++ 5 files changed, 192 insertions(+) create mode 100644 __pycache__/calculator.cpython-312.pyc create mode 100644 calculator.py create mode 100644 converter.py create mode 100644 counter.py create mode 100644 test_calculator.py diff --git a/__pycache__/calculator.cpython-312.pyc b/__pycache__/calculator.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0c79c8eed669ab1f2545621177cf866fa57d22f5 GIT binary patch literal 3501 zcmd5;UvC>l5Z}E&_QkQCq)lj`spB-IaDfCOpb{lQ4W$JtWCEp#T9M4zw@GdMC+wZm z+6t%-c}N~mB2^+m;tNFi3VZ{eq7o%Kfk5KPZy^_i)F)>4Y{zy@(h453C(Z57?9S}Y z{$^%>3WWj$+Jo<%*_2AiA2_Hr7>nk91HUz55|d_0j>c(Dic6G8<UL|ai^P-}-ITql zaanK`;Hpfna}`+Y%c^k|{{E~lr^J=&dJSfFFf|kQ);H4nYOUnc0~HkMk|R&PbJYnO zNz3L&%FZ$SPQgqyE|aPQ_e1Ec5k}(FByow!CS4?(RbgC#G3>oQhTWQS!`KI7I7MCV zFR8lE>HOfTkxdn|hF##P>XGZVaqKF>Xo+ml*aq2<9mQhV8HXAUO<Fi18jU{6q%Ke2 zvKY6f-=CWPD9_&I>3KFi#f^JuYmOH(>`Oa(ljWFYGakJ(J=Z80wOQ&;zK|`<rdiUk z(u~_|G@Z{E<_$Yt$g})(s=mXqxsoFrrdjT4*!CDOaFZ_H?tSvR7IdLQjy?_7U<&U* zf^eywgyXF_vQ<nrn*fGb(2WavfczKjxnj0iJ1~N%_<zxErstcr14AgTYme!gqa_k~ zBgYa6Cy+?w3T82j{a_;TRnf?L5{^#gT}VzN=|ge`iEtZwLAZ<iu!jWUU`+v8B)jVA zKP9S$T$%WK_prC;gWl8g#0ueZVIl?E>y1`>?gi)^1_p*jTm(a0!4QBT1>nbh0`P%< z!8-<-z&qZ=8d;zVQW<(T$x%oV-YJI<RU#Ijfn{zdko#n}t9x~PxwsU395e0g0TPd~ zhZoUg4}keB@OT8tW58@@1ft{^BY4qGMgX4!PiF*<e~b|XQj-yY>0pzQnC|EO$Pov8 z4tq}kMzK*OcnS;eVv+0v{`&TPHR58=gA`7T>6GKYJ+xj0$??!KRREaZ^a0gMeu%H| zr;zLpagnM)6|_N_sY30%&~4XcwcNZw5_Mk51E4O6JvubCK{<lU!WmI7U#S+eZ_Sl^ zn{AE>?u$6rL*p+!XCDkKDc|}$pwvyk3=DOF{x6^d=qDNYx3&z<XlW)jrA<5#w67_w ztCd)fCFlY*<=PxdN<>#;6;xHhxfRT-y3C)4pSWMA)3BhF*w-)<ZAjv<j?DP1g=V7F zBWpJJH-V+#Ov|Zjf|p^obrA@JVffU_%<{}iW;wIovp)GS99fcgwcw7{zoqrBpI$e% zwde`(2^J!*1F86d)O;dxFCK=E0%_v}ELLru0D^H?;y&(#Q|li;3=f`2Cm<3lSWGGy z`!y$s+H;f>u%@<k0thaFq9;T`a$6fZ0Z8bD9dq0^A8BxcsJ%xy0ZV^dCxGBB)b=_O zQ6(CKzgD{4RS=8dZ<GQLn_UfZLN=??HweW<ffv@&GKk-n)|e<LzP#aUObWwf9CF%S zc!l2vy_hEM$+yW}s>?BsDCTHiSDc`i9X>JA7PFkdXGXTju5n)AUIr09LcllX$8M1m zzzK<DDN$y;P#$cTG#VycK@DR-AbEs(c0!S@P~?a5c4%Zb*u8Rn`TEL@<r}Mfef;O( zxxZx+erYE(vK1P6WZ}!`yK@urkLslAkLew)1?&Zo^H-3(hU85o6G*NgX?a%-BM*r< zPZT;($`q<b_BBZz+7DF8dC_xW7!h|XmgpVuP)?>e=2`C{hqvt25UrR`+vpM}aQL)# zG|wfFdWGHQy*S#0_egx3Ujsde0P8Z4J(*Ja8yP-Ox@c&1_<+Fg;6f+uTRnR~;O7ny b+WjjTI#32^WcBl%zKdIZ7ylwK5L^8Rl8bv* literal 0 HcmV?d00001 diff --git a/calculator.py b/calculator.py new file mode 100644 index 0000000..1a0959c --- /dev/null +++ b/calculator.py @@ -0,0 +1,66 @@ +from abc import ABC, abstractmethod +import unittest + +class ICalculator(ABC): + @abstractmethod + def add(self, a, b): + pass + + @abstractmethod + def sub(self, a, b): + pass + + @abstractmethod + def mul(self, a, b): + pass + + @abstractmethod + def div(self, a, b): + pass + +class Calculator(ICalculator): + def add(self, a, b): + return a + b + + def sub(self, a, b): + return a - b + + def mul(self, a, b): + return a * b + + def div(self, a, b): + if b == 0: + raise ValueError("Division durch die Zahl null ist nicht erlaubt") + return a / b + +class TestCalculator(unittest.TestCase): + def setUp(self): + self.calc = Calculator() + + # Test add-function + def test_add(self): + erg = self.calc.add(3, 5) + self.assertEqual(erg, 8) + + # Test sub-function + def test_sub(self): + erg = self.calc.sub(10, 3) + self.assertEqual(erg, 7) + + # Test mul-function + def test_mul(self): + erg = self.calc.mul(4, 6) + self.assertEqual(erg, 24) + + # Test div-function + def test_div(self): + erg = self.calc.div(20, 4) + self.assertEqual(erg, 5) + + # Test div/0 + def test_div_by_zero(self): + with self.assertRaises(ValueError): + self.calc.div(10, 0) + +if __name__ == "__main__": + unittest.main() diff --git a/converter.py b/converter.py new file mode 100644 index 0000000..39548ef --- /dev/null +++ b/converter.py @@ -0,0 +1,33 @@ +# Bei Eingabe der Zahl 1 soll "I" ausgegeben werden + +# Bei Eingabe der Zahl 2 soll "II" ausgegeben werden + +# Bei Eingabe der Zahl 3 soll "III" ausgegeben werden + +# Bei Eingabe der Zahl 4 soll "IV" ausgegeben werden + +# Bei Eingabe der Zahl 5 soll "V" ausgegeben werden + +# Bei Eingabe der Zahl 9 soll "IX" ausgegeben werden + +# Bei Eingabe der Zahl 10 soll "X" ausgegeben werden + +# Bei Eingabe der Zahl 21 soll "XXI" ausgegeben werden + +# Bei Eingabe der Zahl 50 soll "L" ausgegeben werden + +# Bei Eingabe der Zahl 100 soll "C" ausgegeben werden + +# Bei Eingabe der Zahl 500 soll "D" ausgegeben werden + +# Bei Eingabe der Zahl 1000 soll "M" ausgegeben werden + +# Bei Eingabe der Zahl 1111 soll "MCXI" ausgegeben werden + +# Bei Eingabe der Zahl 99 soll "XCIX" ausgegeben werden + +# Bei Eingabe der Zahl 0 soll "Es gibt keine römische Null" ausgegeben werden + +# Bei Eingabe der Zahl 40 soll "XL" ausgegeben werden + +# Bei Eingabe eines Strings statt Integer-Wert soll "Gebe eine Zahl ein" ausgegeben werden \ No newline at end of file diff --git a/counter.py b/counter.py new file mode 100644 index 0000000..2126ece --- /dev/null +++ b/counter.py @@ -0,0 +1,55 @@ +from abc import ABC, abstractmethod +import unittest + +# Bei Eingabe des Strings Decker liegert die Funktion 3 + +# Bei Eingabe eines leeren Strings soll 0 ausgegeben werden + +# Bei Eingabe des Strings Hallo soll 0 ausgegeben werden + +# Bei Eingabe von Groß-/Kleinschreibung soll trotzdem der entsprechende Wert rauskommen + +# Bei Eingabe vom Buchstaben D oder E soll trotzdem die 1 rauskommen + +class ICounter(ABC): + @abstractmethod + def count_ED(self, s): + pass + +class Counter(ICounter): + def count_ED(self, s): + s = s.upper() + return s.count("E") + s.count("D") + +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): + res = self.c.count_ED("Hallo") + self.assertEqual(res, 0) + + def test_count_ED_insensetiv(self): + res = self.c.count_ED("Der Esel") + self.assertEqual(res, 4) + + def test_count_ED_oneL(self): + 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) + res = self.c.count_ED('d') + self.assertEqual(res, 1) + +if __name__ == "__main__": + unittest.main() diff --git a/test_calculator.py b/test_calculator.py new file mode 100644 index 0000000..0ecaa8b --- /dev/null +++ b/test_calculator.py @@ -0,0 +1,38 @@ +import sys +import unittest +from calculator import Calculator + +class TestCalculator(unittest.TestCase): + + def setUp(self): + self.c = Calculator() + + # Test add-function + def test_add(self): + erg = self.c.add(3, 5) + self.assertEqual(erg, 8) + + # Test sub-function + def test_sub(self): + erg = self.c.sub(10, 3) + self.assertEqual(erg, 7) + + # Test mul-function + def test_mul(self): + erg = self.c.mul(4, 6) + self.assertEqual(erg, 24) + + # Test div-function + def test_div(self): + erg = self.c.div(20, 4) + self.assertEqual(erg, 5) + + # Test div/0 + def test_div_by_zero(self): + with self.assertRaises(ValueError): + self.c.div(10, 0) + + # Test negative numbers + + # Test wrong inputs + -- GitLab From a65a4cf95c7526d4b10ef1ed2449bc98b375127e Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 14:17:32 +0100 Subject: [PATCH 10/33] Test 1/17 erfolgreich --- converter.py | 49 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/converter.py b/converter.py index 39548ef..8f6e01b 100644 --- a/converter.py +++ b/converter.py @@ -1,33 +1,50 @@ # Bei Eingabe der Zahl 1 soll "I" ausgegeben werden - # Bei Eingabe der Zahl 2 soll "II" ausgegeben werden - # Bei Eingabe der Zahl 3 soll "III" ausgegeben werden - # Bei Eingabe der Zahl 4 soll "IV" ausgegeben werden - # Bei Eingabe der Zahl 5 soll "V" ausgegeben werden - # Bei Eingabe der Zahl 9 soll "IX" ausgegeben werden - # Bei Eingabe der Zahl 10 soll "X" ausgegeben werden - # Bei Eingabe der Zahl 21 soll "XXI" ausgegeben werden - # Bei Eingabe der Zahl 50 soll "L" ausgegeben werden - # Bei Eingabe der Zahl 100 soll "C" ausgegeben werden - # Bei Eingabe der Zahl 500 soll "D" ausgegeben werden - # Bei Eingabe der Zahl 1000 soll "M" ausgegeben werden - # Bei Eingabe der Zahl 1111 soll "MCXI" ausgegeben werden - # Bei Eingabe der Zahl 99 soll "XCIX" ausgegeben werden - # Bei Eingabe der Zahl 0 soll "Es gibt keine römische Null" ausgegeben werden - # Bei Eingabe der Zahl 40 soll "XL" ausgegeben werden +# Bei Eingabe des Strings 'IV' soll 4 ausgegenen werden + +import unittest +from abc import ABC, abstractmethod + +class IConverter(ABC): + @abstractmethod + def convert(self, num: int) -> str: + pass + +class Converter(IConverter): + def convert(self, num: int) -> str: + roman_numbers = [(1, 'I')] + + roman_str = '' + + for value, numeral in roman_numbers: + + while num >= value: + roman_str += numeral + num -= value + + return roman_str + +class TestConverter(unittest.TestCase): + def setUp(self): + self.c = Converter() + + def test_convertOne(self): + res = self.c.convert(1) + self.assertEqual(res, 'I') -# Bei Eingabe eines Strings statt Integer-Wert soll "Gebe eine Zahl ein" ausgegeben werden \ No newline at end of file +if __name__ == "__main__": + unittest.main() -- GitLab From 24854f358247ce5f7816579072b53b529b4185dd Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 14:19:15 +0100 Subject: [PATCH 11/33] Test 2/17 erfolgreich --- converter.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/converter.py b/converter.py index 8f6e01b..8f49951 100644 --- a/converter.py +++ b/converter.py @@ -45,6 +45,10 @@ class TestConverter(unittest.TestCase): def test_convertOne(self): res = self.c.convert(1) self.assertEqual(res, 'I') + + def test_convertTwo(self): + res = self.c.convert(2) + self.assertEqual(res, 'II') if __name__ == "__main__": unittest.main() -- GitLab From 2d5486303b633f7bd8898306faa2d3be93d63889 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 14:21:36 +0100 Subject: [PATCH 12/33] Test 3/17 erfolgreich --- converter.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/converter.py b/converter.py index 8f49951..b572325 100644 --- a/converter.py +++ b/converter.py @@ -49,6 +49,12 @@ class TestConverter(unittest.TestCase): def test_convertTwo(self): res = self.c.convert(2) self.assertEqual(res, 'II') + + def test_convertTwo(self): + res = self.c.convert(3) + self.assertEqual(res, 'III') + + if __name__ == "__main__": unittest.main() -- GitLab From 6b20d9133e48bb4ff72a30af30dcfbdf051345fb Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 14:24:03 +0100 Subject: [PATCH 13/33] Test 4/17 erfolgreich --- converter.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/converter.py b/converter.py index b572325..b51be3f 100644 --- a/converter.py +++ b/converter.py @@ -26,7 +26,7 @@ class IConverter(ABC): class Converter(IConverter): def convert(self, num: int) -> str: - roman_numbers = [(1, 'I')] + roman_numbers = [(4, 'IV'), (1, 'I')] roman_str = '' @@ -54,6 +54,10 @@ class TestConverter(unittest.TestCase): res = self.c.convert(3) self.assertEqual(res, 'III') + def test_convertTwo(self): + res = self.c.convert(4) + self.assertEqual(res, 'IV') + if __name__ == "__main__": -- GitLab From d3fa7851645f6ee652c0a934ab7f1c43f5bb8187 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 14:25:13 +0100 Subject: [PATCH 14/33] Test 5/17 erfolgreich --- converter.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/converter.py b/converter.py index b51be3f..d69efb5 100644 --- a/converter.py +++ b/converter.py @@ -26,7 +26,7 @@ class IConverter(ABC): class Converter(IConverter): def convert(self, num: int) -> str: - roman_numbers = [(4, 'IV'), (1, 'I')] + roman_numbers = [(5, 'V'), (4, 'IV'), (1, 'I')] roman_str = '' @@ -58,6 +58,11 @@ class TestConverter(unittest.TestCase): res = self.c.convert(4) self.assertEqual(res, 'IV') + def test_convertTwo(self): + res = self.c.convert(5) + self.assertEqual(res, 'V') + + if __name__ == "__main__": -- GitLab From 22e01bdf34d34305bb42d9b4221533f925588861 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 14:26:46 +0100 Subject: [PATCH 15/33] Test 6/17 erfolgreich --- converter.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/converter.py b/converter.py index d69efb5..f561863 100644 --- a/converter.py +++ b/converter.py @@ -26,7 +26,7 @@ class IConverter(ABC): class Converter(IConverter): def convert(self, num: int) -> str: - roman_numbers = [(5, 'V'), (4, 'IV'), (1, 'I')] + roman_numbers = [(9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')] roman_str = '' @@ -62,6 +62,10 @@ class TestConverter(unittest.TestCase): res = self.c.convert(5) self.assertEqual(res, 'V') + def test_convertTwo(self): + res = self.c.convert(9) + self.assertEqual(res, 'IX') + -- GitLab From 4ca91d0321d0535262f35215c18251a3122145de Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 14:28:27 +0100 Subject: [PATCH 16/33] Test 7/17 erfolgreich --- converter.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/converter.py b/converter.py index f561863..88d52c0 100644 --- a/converter.py +++ b/converter.py @@ -26,7 +26,7 @@ class IConverter(ABC): class Converter(IConverter): def convert(self, num: int) -> str: - roman_numbers = [(9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')] + roman_numbers = [(10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')] roman_str = '' @@ -66,6 +66,10 @@ class TestConverter(unittest.TestCase): res = self.c.convert(9) self.assertEqual(res, 'IX') + def test_convertTwo(self): + res = self.c.convert(10) + self.assertEqual(res, 'X') + -- GitLab From ff2bf006431de36197edf529747e205003dc50cb Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 14:29:44 +0100 Subject: [PATCH 17/33] Test 8/17 erfolgreich --- converter.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/converter.py b/converter.py index 88d52c0..0d55a79 100644 --- a/converter.py +++ b/converter.py @@ -70,6 +70,10 @@ class TestConverter(unittest.TestCase): res = self.c.convert(10) self.assertEqual(res, 'X') + def test_convertTwo(self): + res = self.c.convert(21) + self.assertEqual(res, 'XXI') + -- GitLab From 3da40b9200e2372c8ec955c3781a52c35aec5faf Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 14:32:58 +0100 Subject: [PATCH 18/33] Test 9/17 erfolgreich --- converter.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/converter.py b/converter.py index 0d55a79..4cf6d9f 100644 --- a/converter.py +++ b/converter.py @@ -26,7 +26,7 @@ class IConverter(ABC): class Converter(IConverter): def convert(self, num: int) -> str: - roman_numbers = [(10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')] + roman_numbers = [(50, 'L'), (40, 'XL'), (10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')] roman_str = '' @@ -50,30 +50,34 @@ class TestConverter(unittest.TestCase): res = self.c.convert(2) self.assertEqual(res, 'II') - def test_convertTwo(self): + def test_convertThree(self): res = self.c.convert(3) self.assertEqual(res, 'III') - def test_convertTwo(self): + def test_convertFour(self): res = self.c.convert(4) self.assertEqual(res, 'IV') - def test_convertTwo(self): + def test_convertFive(self): res = self.c.convert(5) self.assertEqual(res, 'V') - def test_convertTwo(self): + def test_convertNine(self): res = self.c.convert(9) self.assertEqual(res, 'IX') - def test_convertTwo(self): + def test_convertTen(self): res = self.c.convert(10) self.assertEqual(res, 'X') - def test_convertTwo(self): + def test_convertTwentyTwo(self): res = self.c.convert(21) self.assertEqual(res, 'XXI') + def test_convertFifty(self): + res = self.c.convert(50) + self.assertEqual(res, 'L') + -- GitLab From f712c36e4fdd9e4ca830207b82b5a740d4ebc552 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 14:35:01 +0100 Subject: [PATCH 19/33] Test 10/17 erfolgreich --- converter.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/converter.py b/converter.py index 4cf6d9f..ae4bda2 100644 --- a/converter.py +++ b/converter.py @@ -26,7 +26,7 @@ class IConverter(ABC): class Converter(IConverter): def convert(self, num: int) -> str: - roman_numbers = [(50, 'L'), (40, 'XL'), (10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')] + roman_numbers = [(100, 'C'), (50, 'L'), (40, 'XL'), (10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')] roman_str = '' @@ -78,6 +78,10 @@ class TestConverter(unittest.TestCase): res = self.c.convert(50) self.assertEqual(res, 'L') + def test_convertHundred(self): + res = self.c.convert(100) + self.assertEqual(res, 'C') + -- GitLab From 4fc54249e09a1eccdc01f0dcec1140a43fe1fb0b Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 14:36:21 +0100 Subject: [PATCH 20/33] Test 11/17 erfolgreich --- converter.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/converter.py b/converter.py index ae4bda2..28c8973 100644 --- a/converter.py +++ b/converter.py @@ -26,7 +26,7 @@ class IConverter(ABC): class Converter(IConverter): def convert(self, num: int) -> str: - roman_numbers = [(100, 'C'), (50, 'L'), (40, 'XL'), (10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')] + roman_numbers = [(500, 'D'), (100, 'C'), (50, 'L'), (40, 'XL'), (10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')] roman_str = '' @@ -82,6 +82,10 @@ class TestConverter(unittest.TestCase): res = self.c.convert(100) self.assertEqual(res, 'C') + def test_convertFiveHundred(self): + res = self.c.convert(500) + self.assertEqual(res, 'D') + -- GitLab From 824ec177c82805e9904892fefb5fe6559ce11983 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 14:38:09 +0100 Subject: [PATCH 21/33] Test 12/17 erfolgreich --- converter.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/converter.py b/converter.py index 28c8973..d3eac5a 100644 --- a/converter.py +++ b/converter.py @@ -26,7 +26,7 @@ class IConverter(ABC): class Converter(IConverter): def convert(self, num: int) -> str: - roman_numbers = [(500, 'D'), (100, 'C'), (50, 'L'), (40, 'XL'), (10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')] + roman_numbers = [(1000, 'M'), (500, 'D'), (100, 'C'), (50, 'L'), (40, 'XL'), (10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')] roman_str = '' @@ -86,6 +86,10 @@ class TestConverter(unittest.TestCase): res = self.c.convert(500) self.assertEqual(res, 'D') + def test_convertThousand(self): + res = self.c.convert(1000) + self.assertEqual(res, 'M') + -- GitLab From eedae99fd30e6442b4c92ccccafdb675d4e49d15 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 14:39:22 +0100 Subject: [PATCH 22/33] Test 13/17 erfolgreich --- converter.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/converter.py b/converter.py index d3eac5a..0c6ef09 100644 --- a/converter.py +++ b/converter.py @@ -89,6 +89,10 @@ class TestConverter(unittest.TestCase): def test_convertThousand(self): res = self.c.convert(1000) self.assertEqual(res, 'M') + + def test_convertFourDigit(self): + res = self.c.convert(1111) + self.assertEqual(res, 'MCXI') -- GitLab From 24a8bbcedf40bd5f3c5ec9570f5d967ca14b9726 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 14:43:50 +0100 Subject: [PATCH 23/33] Test 14/17 erfolgreich --- converter.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/converter.py b/converter.py index 0c6ef09..50e6a1b 100644 --- a/converter.py +++ b/converter.py @@ -26,7 +26,7 @@ class IConverter(ABC): class Converter(IConverter): def convert(self, num: int) -> str: - roman_numbers = [(1000, 'M'), (500, 'D'), (100, 'C'), (50, 'L'), (40, 'XL'), (10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')] + roman_numbers = [(1000, 'M'), (500, 'D'), (100, 'C'), (90, 'XC'), (50, 'L'), (40, 'XL'), (10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')] roman_str = '' @@ -94,6 +94,10 @@ class TestConverter(unittest.TestCase): res = self.c.convert(1111) self.assertEqual(res, 'MCXI') + def test_convertNintyNine(self): + res = self.c.convert(99) + self.assertEqual(res, 'XCIX') + -- GitLab From 6c1ba0952a58fcee273769d4badcc308439e4c04 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 14:47:25 +0100 Subject: [PATCH 24/33] Test 15/17 erfolgreich --- converter.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/converter.py b/converter.py index 50e6a1b..daaf56d 100644 --- a/converter.py +++ b/converter.py @@ -30,6 +30,9 @@ class Converter(IConverter): roman_str = '' + if num == 0: + return "Es gibt keine römische Null" + for value, numeral in roman_numbers: while num >= value: @@ -98,6 +101,10 @@ class TestConverter(unittest.TestCase): res = self.c.convert(99) self.assertEqual(res, 'XCIX') + def test_convertZero(self): + res = self.c.convert(0) + self.assertEqual(res, 'Es gibt keine römische Null') + -- GitLab From 536efe7aee4ef814927635a6055473cf4fe0b1d2 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 14:53:44 +0100 Subject: [PATCH 25/33] Test 16/17 erfolgreich --- converter.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/converter.py b/converter.py index daaf56d..d705b46 100644 --- a/converter.py +++ b/converter.py @@ -105,6 +105,10 @@ class TestConverter(unittest.TestCase): res = self.c.convert(0) self.assertEqual(res, 'Es gibt keine römische Null') + def test_convertFourty(self): + res = self.c.convert(40) + self.assertEqual(res, 'XL') + -- GitLab From 6e52d64d238818fbc610a51a411e6cc505c3fda0 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 15:29:35 +0100 Subject: [PATCH 26/33] Test 17/17 erfolgreich -- Testliste jedoch nochmals angepasst (3 neue Testcases) --- converter.py | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/converter.py b/converter.py index d705b46..6d6f0fb 100644 --- a/converter.py +++ b/converter.py @@ -14,7 +14,9 @@ # Bei Eingabe der Zahl 99 soll "XCIX" ausgegeben werden # Bei Eingabe der Zahl 0 soll "Es gibt keine römische Null" ausgegeben werden # Bei Eingabe der Zahl 40 soll "XL" ausgegeben werden -# Bei Eingabe des Strings 'IV' soll 4 ausgegenen werden +# Bei Eingabe eines Strings soll "Bitte ganze Zahlen eingeben" ausgegeben werden -> geändert aufgrund der Aufgabenstellung +# Bei Eingabe von Float-Werten (z.B. 4,3) soll "Bitte ganze Zahlen eingeben" ausgegeben werden. +# Bei Eingabe von negativen Werten (z.B. -5) soll "Es sind nur positive Zahlen zum konvertieren erlaubt" ausgegeben werden import unittest from abc import ABC, abstractmethod @@ -30,16 +32,25 @@ class Converter(IConverter): roman_str = '' + '''Wenn eine 0 eingegeben wird muss eine Exception folgen''' if num == 0: return "Es gibt keine römische Null" + + + if isinstance(num, int): + if num < 0: + return "Es sind nur positive Zahlen zum konvertieren erlaubt" + + for value, numeral in roman_numbers: - for value, numeral in roman_numbers: + while num >= value: + roman_str += numeral + num -= value - while num >= value: - roman_str += numeral - num -= value + return roman_str + else: + return "Bitte ganze Zahlen eingeben" - return roman_str class TestConverter(unittest.TestCase): def setUp(self): @@ -109,8 +120,9 @@ class TestConverter(unittest.TestCase): res = self.c.convert(40) self.assertEqual(res, 'XL') - - + def test_convertString(self): + res = self.c.convert('HUIHIN') + self.assertEqual(res, "Bitte ganze Zahlen eingeben") if __name__ == "__main__": unittest.main() -- GitLab From 4bee07da4dadaad95e609c6706498de7399fecd4 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 15:30:10 +0100 Subject: [PATCH 27/33] Test 18/19 erfolgreich --- converter.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/converter.py b/converter.py index 6d6f0fb..69c9029 100644 --- a/converter.py +++ b/converter.py @@ -124,5 +124,9 @@ class TestConverter(unittest.TestCase): res = self.c.convert('HUIHIN') self.assertEqual(res, "Bitte ganze Zahlen eingeben") + def test_convertFloat(self): + res = self.c.convert(4.3) + self.assertEqual(res, "Bitte ganze Zahlen eingeben") + if __name__ == "__main__": unittest.main() -- GitLab From d44983aa62af6b01e8c5b4e17e36203a41a09910 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 15:32:45 +0100 Subject: [PATCH 28/33] Test 19/19 erfolgreich --- converter.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/converter.py b/converter.py index 69c9029..7e833af 100644 --- a/converter.py +++ b/converter.py @@ -128,5 +128,9 @@ class TestConverter(unittest.TestCase): res = self.c.convert(4.3) self.assertEqual(res, "Bitte ganze Zahlen eingeben") + def test_convertNegative(self): + res = self.c.convert(-4) + self.assertEqual(res, "Es sind nur positive Zahlen zum konvertieren erlaubt") + if __name__ == "__main__": unittest.main() -- GitLab From 2156ede0e8d0ca24ad004daa63f429b645ec3fce Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 15:38:30 +0100 Subject: [PATCH 29/33] =?UTF-8?q?Test=2020/22=20erfolgreich=20(Es=20wurden?= =?UTF-8?q?=20erneut=203=20neue=20Testcases=20hinzugef=C3=BCgt)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- converter.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/converter.py b/converter.py index 7e833af..b844efb 100644 --- a/converter.py +++ b/converter.py @@ -17,6 +17,9 @@ # Bei Eingabe eines Strings soll "Bitte ganze Zahlen eingeben" ausgegeben werden -> geändert aufgrund der Aufgabenstellung # Bei Eingabe von Float-Werten (z.B. 4,3) soll "Bitte ganze Zahlen eingeben" ausgegeben werden. # Bei Eingabe von negativen Werten (z.B. -5) soll "Es sind nur positive Zahlen zum konvertieren erlaubt" ausgegeben werden +# Bei Eingabe der Zahl 2025 soll "MMXXV" ausgegeben werden +# Bei Eingabe von Zeichen wie ! soll "Bitte ganze Zahlen eingeben" ausgegeben werden +# Bei Eingabe mehrerer Zahlen wie 4, 3 soll IV, III augegeben werden import unittest from abc import ABC, abstractmethod @@ -132,5 +135,11 @@ class TestConverter(unittest.TestCase): res = self.c.convert(-4) self.assertEqual(res, "Es sind nur positive Zahlen zum konvertieren erlaubt") + def test_convertYear(self): + res = self.c.convert(2025) + self.assertEqual(res, "MMXXV") + + + if __name__ == "__main__": unittest.main() -- GitLab From 209c3432d582bd8cf610124cb7a62a2908361784 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 15:40:11 +0100 Subject: [PATCH 30/33] Test 21/22 erfolgreich --- converter.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/converter.py b/converter.py index b844efb..0387c45 100644 --- a/converter.py +++ b/converter.py @@ -139,6 +139,10 @@ class TestConverter(unittest.TestCase): res = self.c.convert(2025) self.assertEqual(res, "MMXXV") + def test_convertSign(self): + res = self.c.convert('!') + self.assertEqual(res, "Bitte ganze Zahlen eingeben") + if __name__ == "__main__": -- GitLab From c671356c4a862294dea20a84549609461d742246 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 15:54:15 +0100 Subject: [PATCH 31/33] Test 22/22 erfolgreich --- converter.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/converter.py b/converter.py index 0387c45..69588fe 100644 --- a/converter.py +++ b/converter.py @@ -19,7 +19,7 @@ # Bei Eingabe von negativen Werten (z.B. -5) soll "Es sind nur positive Zahlen zum konvertieren erlaubt" ausgegeben werden # Bei Eingabe der Zahl 2025 soll "MMXXV" ausgegeben werden # Bei Eingabe von Zeichen wie ! soll "Bitte ganze Zahlen eingeben" ausgegeben werden -# Bei Eingabe mehrerer Zahlen wie 4, 3 soll IV, III augegeben werden +# Bei Eingabe mehrerer Zahlen wie 4, 3 soll "Bitte nur eine ganze Zahl eingeben" augegeben werden import unittest from abc import ABC, abstractmethod @@ -31,6 +31,11 @@ class IConverter(ABC): class Converter(IConverter): def convert(self, num: int) -> str: + + '''Sicherstellen, dass nur eine ganze Zahl eingegeben wurde.''' + if isinstance(num, str) and len(num.split(',')) > 1: + return 'Bitte nur eine ganze Zahl eingeben' + roman_numbers = [(1000, 'M'), (500, 'D'), (100, 'C'), (90, 'XC'), (50, 'L'), (40, 'XL'), (10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')] roman_str = '' @@ -40,7 +45,10 @@ class Converter(IConverter): return "Es gibt keine römische Null" + '''Sicherstellen, dass keine Zeichen oder Strings eingegeben werden''' if isinstance(num, int): + + '''Sicherstellen, dass keine negativen Zahlen eingegeben werden''' if num < 0: return "Es sind nur positive Zahlen zum konvertieren erlaubt" @@ -143,6 +151,9 @@ class TestConverter(unittest.TestCase): res = self.c.convert('!') self.assertEqual(res, "Bitte ganze Zahlen eingeben") + def test_convertMultipleNum(self): + res = self.c.convert('4, 3') + self.assertEqual(res, "Bitte nur eine ganze Zahl eingeben") if __name__ == "__main__": -- GitLab From 3c95653044daa6b0fc56e5b951c85de95b194adf Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 16:06:30 +0100 Subject: [PATCH 32/33] New Tests in order to check if everything works out (Test 23/26 successful) --- converter.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/converter.py b/converter.py index 69588fe..5e9f163 100644 --- a/converter.py +++ b/converter.py @@ -20,6 +20,10 @@ # Bei Eingabe der Zahl 2025 soll "MMXXV" ausgegeben werden # Bei Eingabe von Zeichen wie ! soll "Bitte ganze Zahlen eingeben" ausgegeben werden # Bei Eingabe mehrerer Zahlen wie 4, 3 soll "Bitte nur eine ganze Zahl eingeben" augegeben werden +# Bei Eingabe größerer Zahlen wie z.B. 4000 soll "MMMM" ausgegeben werden +# Bei Eingabe der Zahl 30 soll "XXX" ausgegeben werden +# Bei Eingabe der Zahl 90 soll "90" ausgegeben werden +# Bei Eingabe eines leeren Strings soll "Bitte ganze Zahlen eingeben" ausgegeben werden import unittest from abc import ABC, abstractmethod @@ -155,6 +159,12 @@ class TestConverter(unittest.TestCase): res = self.c.convert('4, 3') self.assertEqual(res, "Bitte nur eine ganze Zahl eingeben") + def test_convertHighNum(self): + res = self.c.convert(4000) + self.assertEqual(res, "MMMM") + + + if __name__ == "__main__": unittest.main() -- GitLab From 64c5b16a9572b0d924219c4ed13f306502149cf4 Mon Sep 17 00:00:00 2001 From: DaniRafeh28 <daniel.rafeh@student.reutlingen-university.de> Date: Thu, 20 Mar 2025 16:09:20 +0100 Subject: [PATCH 33/33] Test 26/26 successful --- converter.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/converter.py b/converter.py index 5e9f163..1d5eff4 100644 --- a/converter.py +++ b/converter.py @@ -163,6 +163,18 @@ class TestConverter(unittest.TestCase): res = self.c.convert(4000) self.assertEqual(res, "MMMM") + def test_convertThirty(self): + res = self.c.convert(30) + self.assertEqual(res, "XXX") + + def test_convertNinety(self): + res = self.c.convert(90) + self.assertEqual(res, "XC") + + def test_convertEmpty(self): + res = self.c.convert('') + self.assertEqual(res, "Bitte ganze Zahlen eingeben") + -- GitLab