Napisz program umożliwiający konwersję liczb między 3 różnymi systemami liczbowymi arabskim, rzymskim i prastarym, korzystając z TDD (Test-driven Development). Program powinien spełniać poniższe założenia:
a) program spełnia wszystkie testy jednostkowe napisane przy użyciu biblioteki JUnit, załączone w projekcie TDD.zip
b) program napisany jest zgodnie z zasadami techniki tworzenia oprogramowania TDD
c) zakres liczb jakie powinien obsługiwać program:
rzymski (1…3000)
prastary (1…29)
Cyfry rzymskie oparte są na 7 symbolach:
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
Cyfry zapisywane są w porządku malejącym od lewej do prawej.
Np. MDLI (1551) – 1000 + 500 + 50 + 1
System prastary wykorzystywany około 1200 lat p.n.e. wykorzystuje tylko dwa znaki, które są ukośnikami:
/ 1
\ 5
Każdy prawy ukośnik reprezentuje cyfrę 1 w systemie arabskim i jest prezentowany jako pierwszy, następnie pojawiają się ukośniki lewe z których każdy reprezentuje cyfrę 5 w systemie arabskim. Prawych ukośników jest co najwyżej 4.
Np. //\ (12) – 1 + 1 + 5 + 5