Skip to content
Snippets Groups Projects
Commit e094e6db authored by Marvin Serchimo's avatar Marvin Serchimo
Browse files

test laufen

parent cb97e66e
Branches featureAliciMuhamed
No related tags found
No related merge requests found
Showing with 48 additions and 9 deletions
.DS_Store 0 → 100644
File added
File added
#Test_Converter_Römische_Zahlen
import unittest
import sys
sys.path.append("/Users/marvin/Documents/GitHub/romannumbers")
from ProjektTest.test_converter import RomanConverter as MyConverter
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(MyConverter().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
## 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 |
| GotsisWasilios | yes | all |
| RafehDaniel | no | none |
| AliciMuhamed | no | none |
......@@ -10,7 +10,6 @@
import unittest
from abc import ABC, abstractmethod
from other.RafehDaniel.converter import Converter as Dani
# Interface (abstrakte Basisklasse)
......@@ -59,7 +58,7 @@ class RomanConverter(IConverter):
# Testklasse mit 8 funktionierenden Tests
class TestRomanConverter(unittest.TestCase):
def setUp(self):
self.converter = Dani()
self.converter = RomanConverter()
# Bei Eingabe der Zahl 1 soll "I" ausgegeben werden
def test_1(self):
......
## 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 |
| GotsisWasilios | yes | all |
| RafehDaniel | no | none
\ No newline at end of file
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