class Test(unittest.TestCase):

    def setUp(self):
        self.roman = RomanNumerals()
        
    def testSimple(self):
        self.checkConversion(1,"I")
        self.checkConversion(4,"IV")
        self.checkConversion(5,"V")
        self.checkConversion(9,"IX")
        self.checkConversion(10,"X")
        self.checkConversion(40,"XL")
        self.checkConversion(50,"L")
        self.checkConversion(90,"XC")
        self.checkConversion(100,"C")
        self.checkConversion(400,"CD")
        self.checkConversion(500,"D")
        self.checkConversion(900,"CM")
        self.checkConversion(1000,"M")
        
    def testTens(self):
        self.checkConversion(11,"XI")
        self.checkConversion(12,"XII")
        self.checkConversion(13,"XIII")
        self.checkConversion(14,"XIV")
        self.checkConversion(19,"XIX")
        self.checkConversion(20,"XX")
        self.checkConversion(24,"XXIV")
        self.checkConversion(31,"XXXI")
        self.checkConversion(38,"XXXVIII")
        self.checkConversion(45,"XLV")
        self.checkConversion(71,"LXXI")
        self.checkConversion(87,"LXXXVII")
        self.checkConversion(99,"XCIX")
        
    def testHundreds(self):
        self.checkConversion(109,"CIX")
        self.checkConversion(203,"CCIII")
        self.checkConversion(303,"CCCIII")
        self.checkConversion(304,"CCCIV")
        self.checkConversion(450,"CDL")
        self.checkConversion(546,"DXLVI")
        self.checkConversion(671,"DCLXXI")
        self.checkConversion(788,"DCCLXXXVIII")
        self.checkConversion(888,"DCCCLXXXVIII")
        self.checkConversion(999,"CMXCIX")
        
    def testThousands(self):
        self.checkConversion(1010,"MX")
        self.checkConversion(1111,"MCXI")
        self.checkConversion(1234,"MCCXXXIV")
        self.checkConversion(2342,"MMCCCXLII")
        self.checkConversion(2999,"MMCMXCIX")
        
    def checkConversion(self,numeral, roman):
        self.assertEquals(roman, self.roman.intToRoman(numeral))
        self.assertEquals(numeral, self.roman.romanToInt(roman))
Example #2
0
class Test(unittest.TestCase):
    def setUp(self):
        self.roman = RomanNumerals()

    def testSimple(self):
        self.checkConversion(1, "I")
        self.checkConversion(4, "IV")
        self.checkConversion(5, "V")
        self.checkConversion(9, "IX")
        self.checkConversion(10, "X")
        self.checkConversion(40, "XL")
        self.checkConversion(50, "L")
        self.checkConversion(90, "XC")
        self.checkConversion(100, "C")
        self.checkConversion(400, "CD")
        self.checkConversion(500, "D")
        self.checkConversion(900, "CM")
        self.checkConversion(1000, "M")

    def testTens(self):
        self.checkConversion(11, "XI")
        self.checkConversion(12, "XII")
        self.checkConversion(13, "XIII")
        self.checkConversion(14, "XIV")
        self.checkConversion(19, "XIX")
        self.checkConversion(20, "XX")
        self.checkConversion(24, "XXIV")
        self.checkConversion(31, "XXXI")
        self.checkConversion(38, "XXXVIII")
        self.checkConversion(45, "XLV")
        self.checkConversion(71, "LXXI")
        self.checkConversion(87, "LXXXVII")
        self.checkConversion(99, "XCIX")

    def testHundreds(self):
        self.checkConversion(109, "CIX")
        self.checkConversion(203, "CCIII")
        self.checkConversion(303, "CCCIII")
        self.checkConversion(304, "CCCIV")
        self.checkConversion(450, "CDL")
        self.checkConversion(546, "DXLVI")
        self.checkConversion(671, "DCLXXI")
        self.checkConversion(788, "DCCLXXXVIII")
        self.checkConversion(888, "DCCCLXXXVIII")
        self.checkConversion(999, "CMXCIX")

    def testThousands(self):
        self.checkConversion(1010, "MX")
        self.checkConversion(1111, "MCXI")
        self.checkConversion(1234, "MCCXXXIV")
        self.checkConversion(2342, "MMCCCXLII")
        self.checkConversion(2999, "MMCMXCIX")

    def checkConversion(self, numeral, roman):
        self.assertEquals(roman, self.roman.intToRoman(numeral))
        self.assertEquals(numeral, self.roman.romanToInt(roman))
class RomanNumeralsTest(unittest.TestCase):
    def setUp(self):
        self.converter = RomanNumerals()

    def toRoman(self, number):
        return self.converter.toRoman(number)

    def testSomeReplacements(self):
        self.assertEquals("V", self.toRoman(5))
        self.assertEquals("X", self.toRoman(10))
        self.assertEquals("L", self.toRoman(50))
        self.assertEquals("C", self.toRoman(100))
        self.assertEquals("D", self.toRoman(500))
        self.assertEquals("M", self.toRoman(1000))

    def testFrom1To4(self):
        self.assertEquals("I", self.toRoman(1))
        self.assertEquals("II", self.toRoman(2))
        self.assertEquals("III", self.toRoman(3))
        self.assertEquals("IV", self.toRoman(4))

    def testFrom6To8(self):
        self.assertEquals("VI", self.toRoman(6))
        self.assertEquals("VII", self.toRoman(7))
        self.assertEquals("VIII", self.toRoman(8))

    def testSomeNumbersBetween10And50(self):
        self.assertEquals("XI", self.toRoman(11))
        self.assertEquals("XXIII", self.toRoman(23))
        self.assertEquals("XXXIV", self.toRoman(34))
        self.assertEquals("XL", self.toRoman(40))

    def testSomeNumbersBetween10And50(self):
        self.assertEquals("LIII", self.toRoman(53))
        self.assertEquals("LIX", self.toRoman(59))
        self.assertEquals("LX", self.toRoman(60))
        self.assertEquals("LXIX", self.toRoman(69))
        self.assertEquals("LXX", self.toRoman(70))
        self.assertEquals("LXXIX", self.toRoman(79))

    def testSomeBigRomanNumbers(self):
        self.assertEquals("CDXCIX", self.toRoman(499))
        self.assertEquals("CMXCIX", self.toRoman(999))
        self.assertEquals("MDCCXLIII", self.toRoman(1743))
        self.assertEquals("MMCMXCIX", self.toRoman(2999))
Example #4
0
 def setUp(self):
     self.roman = RomanNumerals()
 def setUp(self):
     self.converter = RomanNumerals()
 def setUp(self):
     self.roman = RomanNumerals()
    def test_RomanNumerals(self):
        assert (RomanNumerals.to_roman(1000) == 'M')
        assert (RomanNumerals.to_roman(1990) == 'MCMXC')

        assert (RomanNumerals.from_roman('XXI') == 21)
        assert (RomanNumerals.from_roman('MMVIII') == 2008)