def test_check_roman_basic_symbols(self):
     for integer, numeral in self.known_values:
         self.assertEqual(RomanNumerals.check_roman_basic_symbols(numeral),
                          True)
     for numeral in self.illegal_romans_symbols:
         self.assertEqual(RomanNumerals.check_roman_basic_symbols(numeral),
                          False)
 def test_check_roman_subtract_rules(self):
     for integer, numeral in self.known_values:
         self.assertEqual(RomanNumerals.check_roman_subtract_rules(numeral),
                          True)
     for numeral in self.illegal_romans_subtract:
         self.assertEqual(RomanNumerals.check_roman_subtract_rules(numeral),
                          False)
Beispiel #3
0
class RomanNumeralsTest(unittest.TestCase):
    def setUp(self):
        self.roman_numerals = RomanNumerals()

    def test_returns_a_string(self):
        self.assertIsInstance(self.roman_numerals.convert_from_integer(1), str)

    def test_one_returns_I(self):
        self.assertEqual(self.roman_numerals.convert_from_integer(1), 'I')

    def test_two_returns_II(self):
        self.assertEqual(self.roman_numerals.convert_from_integer(2), 'II')

    def test_five_returns_V(self):
        self.assertEqual(self.roman_numerals.convert_from_integer(5), 'V')

    def test_ten_returns_X(self):
        self.assertEqual(self.roman_numerals.convert_from_integer(10), 'X')

    def test_roman_letters_can_repeat_three_times(self):
        for number in [1, 10, 100, 1000]:
            one_roman = self.roman_numerals.convert_from_integer(number)
            three_roman = self.roman_numerals.convert_from_integer(number * 3)

            self.assertEqual(three_roman, one_roman * 3)
Beispiel #4
0
 def test_from(self):
     self.assertEqual(RomanNumerals.from_roman('XXI'), 21)
     self.assertEqual(RomanNumerals.from_roman('III'), 3)
     self.assertEqual(RomanNumerals.from_roman('IV'), 4)
     self.assertEqual(RomanNumerals.from_roman('MCM'), 1900)
     self.assertEqual(RomanNumerals.from_roman('MMVIII'), 2008)
     self.assertEqual(RomanNumerals.from_roman('IL'), 49)
     self.assertEqual(RomanNumerals.from_roman('DII'), 502)
 def translate_ref_to_arabic(self, ref_words_list):
     # convert amount pattern to abrabic
     roman_nums = []
     for item in ref_words_list:
         if item in self.words_book:
             roman_nums.append(self.words_book[item])
         else:
             print('Error amount pattern', item)
             return None
     
     return RomanNumerals.to_arabic(''.join(roman_nums))
class EncodeTestCase(unittest.TestCase):
    def setUp(self):
        self.roman_numerals = RomanNumerals()

    def test_0_returns_empty_string(self):
        self.assertEqual('', self.roman_numerals.encode(0))

    def test_1_through_3(self):
        self.assertEqual('I', self.roman_numerals.encode(1))
        self.assertEqual('II', self.roman_numerals.encode(2))
        self.assertEqual('III', self.roman_numerals.encode(3))

    def test_4_returns_IV(self):
        self.assertEqual('IV', self.roman_numerals.encode(4))

    def test_5_returns_V(self):
        self.assertEqual('V', self.roman_numerals.encode(5))

    def test_6_through_8(self):
        self.assertEqual('VI', self.roman_numerals.encode(6))
        self.assertEqual('VII', self.roman_numerals.encode(7))
        self.assertEqual('VIII', self.roman_numerals.encode(8))

    def test_9_returns_IX(self):
        self.assertEqual('IX', self.roman_numerals.encode(9))

    def test_10_returns_X(self):
        self.assertEqual('X', self.roman_numerals.encode(10))

    def test_11_through_13(self):
        self.assertEqual('XI', self.roman_numerals.encode(11))
        self.assertEqual('XII', self.roman_numerals.encode(12))
        self.assertEqual('XIII', self.roman_numerals.encode(13))

    def test_14_returns_XIV(self):
        self.assertEqual('XIV', self.roman_numerals.encode(14))
 def test_case_1999(self):
     roman_numerals = RomanNumerals()
     roman_number = roman_numerals.to_roman('1999')
     self.assertEqual(roman_number, 'MCMXCIX')
 def test_to_arabic(self):
     for integer, numeral in self.known_values:
         self.assertEqual(RomanNumerals.to_arabic(numeral), integer)
Beispiel #9
0
import numpy as np
from roman_numerals import RomanNumerals

if __name__ == "__main__":
    numerals = RomanNumerals()

    arr = np.arange(1, 10, dtype='i')
    arr = arr[::-1]

    for i in arr:
        print('{} = {}'.format(i, numerals.integer_to_numerals(int(i))))
Beispiel #10
0
 def test_DCXLIV(self):
     self.assertEqual(RomanNumerals.numeralize(644), 'DCXLIV')
Beispiel #11
0
 def test_CLXXVII(self):
     self.assertEqual(RomanNumerals.numeralize(177), 'CLXXVII')
 def test_case_tens_7(self):
     roman_numerals = RomanNumerals()
     roman_number = roman_numerals.to_roman_factor('7', 1)
     self.assertEqual(roman_number, 'LXX')
 def test_case_3(self):
     roman_numerals = RomanNumerals()
     roman_number = roman_numerals.to_roman('3')
     self.assertEqual(roman_number, 'III')
Beispiel #14
0
 def setUp(self):
     self.roman_numerals = RomanNumerals()
Beispiel #15
0
 def test_MCMXCIX(self):
     self.assertEqual(RomanNumerals.numeralize(1999), 'MCMXCIX')
 def test_case_5(self):
     roman_numerals = RomanNumerals()
     roman_number = roman_numerals.to_roman('5')
     self.assertEqual(roman_number, 'V')
Beispiel #17
0
 def test_V(self):
     self.assertEqual(RomanNumerals.numeralize(5), 'V')
Beispiel #18
0
 def test_I(self):
     self.assertEqual(RomanNumerals.numeralize(1), 'I')
Beispiel #19
0
 def test_MMM(self):
     self.assertEqual(RomanNumerals.numeralize(3000), 'MMM')
Beispiel #20
0
 def test_MMXVI(self):
     self.assertEqual(RomanNumerals.numeralize(2016), 'MMXVI')
 def test_case_unit_7(self):
     roman_numerals = RomanNumerals()
     roman_number = roman_numerals.to_roman_factor('7', 0)
     self.assertEqual(roman_number, 'VII')
Beispiel #22
0
 def test_to_roman(self):
     self.assertEqual(RomanNumerals.to_roman(1), 'I')
     self.assertEqual(RomanNumerals.to_roman(3), 'III')
     self.assertEqual(RomanNumerals.to_roman(4), 'IV')
     self.assertEqual(RomanNumerals.to_roman(6), 'VI')
     self.assertEqual(RomanNumerals.to_roman(8), 'VIII')
     self.assertEqual(RomanNumerals.to_roman(9), 'IX')
     self.assertEqual(RomanNumerals.to_roman(14), 'XIV')
     self.assertEqual(RomanNumerals.to_roman(17), 'XVII')
     self.assertEqual(RomanNumerals.to_roman(19), 'XIX')
     self.assertEqual(RomanNumerals.to_roman(20), 'XX')
     self.assertEqual(RomanNumerals.to_roman(22), 'XXII')
     self.assertEqual(RomanNumerals.to_roman(40), 'XL')
     self.assertEqual(RomanNumerals.to_roman(490), 'XD')
     self.assertEqual(RomanNumerals.to_roman(786), 'DCCLXXXVI')
     self.assertEqual(RomanNumerals.to_roman(900), 'CM')
     self.assertEqual(RomanNumerals.to_roman(904), 'CMIV')
     self.assertEqual(RomanNumerals.to_roman(1000), 'M')
     self.assertEqual(RomanNumerals.to_roman(1990), 'MCMXC')
     self.assertEqual(RomanNumerals.to_roman(3888), 'MMMDCCCLXXXVIII')