Skip to content
Snippets Groups Projects
Commit 55f3eedb authored by Hatice Yildirim's avatar Hatice Yildirim
Browse files

Merge branch 'feature/AliciMuhamed' into 'develop'

AliciMuhamed

See merge request !1
parents b21b0360 75c642de
No related branches found
No related tags found
2 merge requests!8Develop2,!1AliciMuhamed
#Test_Converter_Römische_Zahlen
import unittest
def convert(n: int) -> str:
roman_numerals = {
1000: "M", 900: "CM", 500: "D", 400: "CD",
100: "C", 90: "XC", 50: "L", 40: "XL",
10: "X", 9: "IX", 5: "V", 4: "IV", 1: "I"
}
result = ""
for value in sorted(roman_numerals.keys(), reverse=True): #Schleife, die über die Schlüssel (die Dezimalzahlen) des roman_numerals-Dictionaries iteriert und in absteigender reienfolge zurück gibt durch value nimmt in jeder Iteration den Wert des nächsten sortierten Schlüssels an
while n >= value: #Dies startet eine while-Schleife, die so lange ausgeführt wird, wie der Wert von n größer oder gleich dem aktuellen value (der Dezimalzahl) ist
result += roman_numerals[value] #fügt die entsprechende römische Ziffer (den Wert aus dem roman_numerals-Dictionary) zur result-Zeichenkette hinzu.
n -= value # aktuelle value - n
return result
class TestRomanConverter(unittest.TestCase):
def test_1(self):
self.assertEqual(convert(1), "I") # Erwartet "I" für 1
def test_10(self):
self.assertEqual(convert(10), "X") # Erwartet "X" für 10
def test_21(self):
self.assertEqual(convert(21), "XXI") # Erwartet "XXI" für 21
def test_50(self):
self.assertEqual(convert(50), "L") # Erwartet "L" für 50
def test_100(self):
self.assertEqual(convert(100), "C") # Erwartet "C" für 100
def test_1000(self):
self.assertEqual(convert(1000), "M") # Erwartet "M" für 1000
def test_1999(self):
self.assertEqual(convert(1999), "MCMXCIX") #Erwartet "MCMXCIX" für 1999
if __name__ == "__main__":
unittest.main()
\ No newline at end of file
#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
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")
def test_inivalid_numbers(self):
self.assertEqual(self.converter.convert(6), "")
self.assertEqual(self.converter.convert(99), "")
self.assertEqual(self.converter.convert(-1), "")
if __name__ == "__main__":
unittest.main()
#Umsetzungen von AliciMuhamed auf meinen Testfälle
import unittest
from Test_Converter_Römische_Zahlen import RomanNumber as RomanNumber
class TestRomanConverter(unittest.TestCase):
def setUp(self):
self.converter = RomanNumber()
def test_implements_interface(self):
self.assertIsInstance(self.converter, ...)
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")
def test_inivalid_numbers(self):
self.assertEqual(self.converter.convert(6), "")
self.assertEqual(self.converter.convert(99), "")
self.assertEqual(self.converter.convert(-1), "")
if __name__ == "__main__":
unittest.main()
import unittest
from converter import RomanNumber as RomanNumber
class TestRomanConverter(unittest.TestCase):
def test_1(self):
self.assertEqual(convert(1), "I") # Erwartet "I" für 1
def test_10(self):
self.assertEqual(convert(10), "X") # Erwartet "X" für 10
def test_21(self):
self.assertEqual(convert(21), "XXI") # Erwartet "XXI" für 21
def test_50(self):
self.assertEqual(convert(50), "L") # Erwartet "L" für 50
def test_100(self):
self.assertEqual(convert(100), "C") # Erwartet "C" für 100
def test_1000(self):
self.assertEqual(convert(1000), "M") # Erwartet "M" für 1000
def test_1999(self):
self.assertEqual(convert(1999), "MCMXCIX") #Erwartet "MCMXCIX" für 1999
if __name__ == "__main__":
unittest.main()
\ No newline at end of file
Meine Testfälle auf Implementierungen anderer Studierender: RomanNumberConverter
| Name | Interface break | Failed Testcases |
|------------------|------------------|-------------------|
|AliciMuhamed | | |
|BerishaAlma | | |
|GotsisWasili | | |
|PikkemaatLasse | | |
|RafehDaniel | | |
|SerchimoMarvin | | |
|WeishauptOrlando | | |
Testfälle anderer Studierender auf meine Implementierung: RomanNumberConverter
| Name | Interface break | Failed Testcases |
|------------------|------------------|-------------------|
|AliciMuhamed | | |
|BerishaAlma | | |
|GotsisWasili | | |
|PikkemaatLasse | | |
|RafehDaniel | | |
|SerchimoMarvin | | |
|WeishauptOrlando | | |
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment