From ad6752d06fd6a9d78a0174a15b5b45ef084628c2 Mon Sep 17 00:00:00 2001 From: Marvin Serchimo <marvin.serchimo@student.reutlingen-university.de> Date: Fri, 4 Apr 2025 13:38:43 +0200 Subject: [PATCH] featureWasiliosGotsis --- other/GotsisWasilios/TDD_Converter.py | 51 ++++++++++++++++++ .../__pycache__/TDD_Converter.cpython-313.pyc | Bin 0 -> 3441 bytes report.md | 7 +-- test_converter | 4 +- 4 files changed, 57 insertions(+), 5 deletions(-) create mode 100644 other/GotsisWasilios/TDD_Converter.py create mode 100644 other/GotsisWasilios/__pycache__/TDD_Converter.cpython-313.pyc diff --git a/other/GotsisWasilios/TDD_Converter.py b/other/GotsisWasilios/TDD_Converter.py new file mode 100644 index 0000000..36a0518 --- /dev/null +++ b/other/GotsisWasilios/TDD_Converter.py @@ -0,0 +1,51 @@ +import unittest +from abc import ABC, abstractmethod + +#Interface für Counter +class IRomanNumber(ABC): + @abstractmethod + def convert_int_to_str(self, n: int) -> str: + pass + +# Implementierung Converter Klasse +class RomanNumber(IRomanNumber): + def convert_int_to_str(self, n: int) -> str: + + #Eingabe anders als int + if not isinstance(n, int): + return "Fehler: Bitte Zahl eingeben" + + #Int Eingabe kleiner gleich 0 + if n <= 0: + return "Integer muss größer als 0 sein" + + # Bekannte Werte umwandeln + roman_convert = {1: "I", 21: "XXI", 1000: "M"} + return roman_convert.get(n) + +# Testklasse (TestConverter) +class TestRomanNumber (unittest.TestCase): + def setUp(self): + self.r = RomanNumber() + + def test_convert_1(self): + self.assertEqual(self.r.convert_int_to_str(1), "I") + + def test_convert_21(self): + self.assertEqual(self.r.convert_int_to_str(21), "XXI") + + def test_convert_empty(self): + self.assertEqual(self.r.convert_int_to_str(None), "Fehler: Bitte Zahl eingeben") + + def test_convert_string(self): + self.assertEqual(self.r.convert_int_to_str("Hello"), "Fehler: Bitte Zahl eingeben") + + def test_convert_downzero(self): + self.assertEqual(self.r.convert_int_to_str(-5), "Integer muss größer als 0 sein") + + def test_convert_downzero(self): + self.assertEqual(self.r.convert_int_to_str(1000), "M") + +if __name__ == "__main__": + unittest.main() + diff --git a/other/GotsisWasilios/__pycache__/TDD_Converter.cpython-313.pyc b/other/GotsisWasilios/__pycache__/TDD_Converter.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b9c725cff5466223ae8965823d319048fda5f532 GIT binary patch literal 3441 zcmc&$-D^}w6rcOGxk+~2Y7$N2M{YhWZfmn9H7e06HMSZhTbk=)stcE!&2@8S_pY6} zYpYM8P%D%|pafbdD19<-J{4b!|3E?r3DZIgeQ7AAiyJAl5B8kdkM3@h?UOhUznMAr z%$zyrckY=fghDL@+Hc?gk@{UD<QJTj8_Y#3d<)$IF^MT%A{2Z1l5|m~@<oLz2I(Yy z#8kS8sV3wRrMQHuLaKo@kWed9O-P$Sswc=~u&7&&70srEZZ?lj5n}Hm1atxGTOS!I zi42mGQc|R41Lv`b%$2v#j`1D#H1nyQ^fQh>o1IBkudldv1f&aKfJ!EzvMEs|p_+0+ zGnGW(sA{U+<c3-{Lz_&E>Zw4ai3i6gvl-iq<ucO_-N4<r<naJ?{2cX?a+N6w#u$`> z3a~&@WKoJO5;&vEob+|7gOs7ZVet2(apq7K&Divo>qXCHlevuJ`7C<g^)KY6qZCbg z!X%4k{aJ@b&u4w+vMV-o({7eUFP}SSjb*)C4)q;6c=I;jl`PII*YhnuYe7JGPxaXc z|EmzdBcV%k<YzrtfB~UMRV>oXb<6VXjAL26#j-NlnOqvjLCg9uXQxYF!j^U2rOZ#e zp5tXLi=yXTffH~A?9(t#J1jVh?Yl|K_I>J3=X{5OD%znt5q2QpQ3T*|SRcS$vaYq| zWl0M?7|Rpr9*z~TD<~w;UO;(qIj*c>91nr5@G3wp<G{BHd~0RCX#jX`5<It7)7%Ox z1!1%qMl~$s?t<kTV)tvvx@d9fS|uAsN~1%iZ!@5klH!snkB&m3<4iGCQ!@i*)1czX zae1<wr==Cx#ifzb?gJ#E$Nt*;t}~l<=%{hl^?k><YR{$($MsUqwBu2<_{;zp_k1Vi zP$QFL%t+BE-#xhxGds<UBL)L?E{$_#YHFNI6A@(t4QzBE{0d%06yD-8*8{@5q(gUu zoGU5Ek0>+*V-XS_64_~$(urX(48thWC>TFb70NBL4w+|X0OrVMfV|TERqr?ETDW&P z+`Ha(Bp)Eb(7g2dvGukQ81FY8#2@u9cOJVJS`Y7A3meN}<H63AaQ~9tU!=d7uR6uD zLE8}85zr-Ze!2%ocrMzBP?vYzC__NX8LqlZ@^Vlcz@&rj;n<(p6>XtjO{$gXA%)ZM zr9RcV358?>)Udc<ssT2c0YKe^%1E0{U0^e9Nwq{;dHAx!{HoY(>_vNJ8!#qFvPix@ z7%Y%~ldoL3;v`+sPZ5evMP%V0m*}D-SY)VC<cn*}@#8mnN1f$CA>Idi47ZpgKknT3 z<^Fr>7XcB7nloYIiZfk>!2*es$;t^pP--A8{Ssvf_FE;rSxI_RF8@YQ^&vH56uqWB z0E-H5wHcI9{~atx^bPzVI39#iwSzmL+W6&MwTAeCdQWS=<L0avV2-To!8N^eS?~O+ z{r>K+cdvB~FLw<;8d~WZdBj%rlP@(8{phcOFpN;|bhyT;;UV7B(CgtL3~WQUhgZ6e zJ=RwB(=Xm_QZ9Os38kD7{L3-Ae_M}t)p+b=Zu+-*Uqh#b&O!7Wo!^e`qbpq}mPW6v z>QgV?@$D0zYZsh!I@`eiwi^H8?uBcC_cshcQ3-FTh7mZv(sgp_t*fj0wU-%zjlZ8i ze@+i<%YR3W|1;T-ygLrf@`DW{P*!{W|6+jIzjWed$AAu?`&gW|{Ojpi{4xe0%0Z(d zhFSf%zx+2xBvC(Ok=89Q(I{?v6yZ3+C<0!0MSEM_sjuNz1iZf(X4qZw6dr6nPXm&6 z3gHaG2NGhUgwIecQcNtx_h-g-J<E!;a6RYYi-*Cp(w<IIyluo&v-oPnTbb*~^q37- zg0POS0j}Z(br(L@PZb}tr|Ct|!K;c*0OS=(l71lJpGf~^K#@Z8Z*CIkHiIE)VE*tX vfo{`im(I+8yte1i@}5JR1Sa{zL=E1%v!ZmZtHIAEKAHIRy}UxyZsEp1-*%)V literal 0 HcmV?d00001 diff --git a/report.md b/report.md index a5ec629..1b4c82c 100644 --- a/report.md +++ b/report.md @@ -1,5 +1,6 @@ ## Eigene Tests gegen andere Implementierungen -| Name | Interface break | Failed Testcases | -|-------------|------------------|------------------| -| BerishaAlma | no | test_1, test_4, test_21, test_1000, test_0, test_float, test_negative, test_multiple_values | +| Name | Interface break | Failed Testcases | +|-----------------|------------------|----------------------------------------------------------------------------------| +| BerishaAlma | no | test_1, test_4, test_21, test_1000, test_0, test_float, test_negative, test_multiple_values | +| GotsisWasilios | yes | all | diff --git a/test_converter b/test_converter index 0b8f32e..8995adb 100644 --- a/test_converter +++ b/test_converter @@ -10,7 +10,7 @@ import unittest from abc import ABC, abstractmethod -from other.BerishaAlma.test2converter import RomanNumber as Alma +from other.GotsisWasilios.TDD_Converter import TestRomanNumber as Wasili # Interface (abstrakte Basisklasse) class IConverter(ABC): @@ -58,7 +58,7 @@ class RomanConverter(IConverter): # Testklasse mit 8 funktionierenden Tests class TestRomanConverter(unittest.TestCase): def setUp(self): - self.converter = Alma() + self.converter = Wasili() # Bei Eingabe der Zahl 1 soll "I" ausgegeben werden def test_1(self): -- GitLab