Skip to content
Snippets Groups Projects
Commit a3ef4268 authored by Lasse Pikkemaat's avatar Lasse Pikkemaat
Browse files

Merge branch 'Almas' into 'develop'

Alma Code + Tests

See merge request !7
parents 6655fd46 dd0b392a
No related branches found
No related tags found
2 merge requests!9Develop,!7Alma Code + Tests
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 = {
3: "III", 6: "VI", 8: "VIII",
12: "XII", 17: "XVII", 29: "XXIX",
34: "XXXIV", 55: "LV", 101: "CI",
501: "DI", 1003: "MIII"
}
return roman_numerals.get(n, "")
'''
from src.romannumerals import RomanNumber
from src.interfaces import IRomanNumber
class TestRomanConverter(unittest.TestCase):
def setUp(self):
self.converter = RomanNumber()
def test_single_value(self):
self.assertEqual(self.converter.convert(3), "III")
self.assertEqual(self.converter.convert(6), "VI")
self.assertEqual(self.converter.convert(8), "VIII")
self.assertEqual(self.converter.convert(12), "XII")
self.assertEqual(self.converter.convert(17), "XVII")
self.assertEqual(self.converter.convert(29), "XXIX")
self.assertEqual(self.converter.convert(34), "XXXIV")
self.assertEqual(self.converter.convert(55), "LV")
self.assertEqual(self.converter.convert(101), "CI")
self.assertEqual(self.converter.convert(501), "DI")
self.assertEqual(self.converter.convert(1003), "MIII")
if __name__ == "__main__":
unittest.main()
#python -m unittest others.Alma.AlmaRomanConverter -v
\ No newline at end of file
| Name | Interface break | Failed Testcases | |
|------|-----------------|--------------------------------------------------------------------------------|---------------------------------------|
| Alma | no | test_convert_addition (tests.test_romannumerals.TestRomanNumber) ... FAIL | AssertionError: '' != 'II' + II |
| Alma | no | test_convert_invalid (tests.test_romannumerals.TestRomanNumber) ... FAIL | AssertionError: ValueError not raised |
| Alma | no | test_convert_large_numbers (tests.test_romannumerals.TestRomanNumber) ... FAIL | AssertionError: '' != 'MI' + MI |
| Alma | no | test_convert_mixed (tests.test_romannumerals.TestRomanNumber) ... FAIL | AssertionError: '' != 'XIV' + XIV |
| Alma | no | test_convert_subtraction (tests.test_romannumerals.TestRomanNumber) ... FAIL | AssertionError: '' != 'IV' + IV |
\ No newline at end of file
......@@ -52,22 +52,25 @@ from others.Orlando.OrlandoInterfaces import IRomanConverter
import unittest
from others.Dani.DaniRomanConverter import Converter, IConverter
'''
import unittest
from others.Momo.MomoRomanConverter import convert
'''
import unittest
from others.Alma.AlmaRomanConverter import IRomanNumber, RomanNumber
class TestRomanNumber(unittest.TestCase):
def setUp(self):
self.converter: convert()
self.converter: IRomanNumber = RomanNumber()
def test_convert_subtraction(self):
self.assertEqual(self.convert(4), "IV")
self.assertEqual(self.convert(9), "IX")
self.assertEqual(self.convert(40), "XL")
self.assertEqual(self.convert(90), "XC")
self.assertEqual(self.convert(400), "CD")
self.assertEqual(self.convert(900), "CM")
self.assertEqual(self.converter.convert(4), "IV")
self.assertEqual(self.converter.convert(9), "IX")
self.assertEqual(self.converter.convert(40), "XL")
self.assertEqual(self.converter.convert(90), "XC")
self.assertEqual(self.converter.convert(400), "CD")
self.assertEqual(self.converter.convert(900), "CM")
def test_convert_addition(self):
self.assertEqual(self.converter.convert(2), "II")
......
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