def test_all(): for exp, act in romans: expect(parse_roman(act)).to_equal(exp)
def test_thousands(exp, act): expect(parse_roman(act)).to_equal(exp)
def test_ones_errors(): expect(parse_roman('IIX')).to_equal(-1) expect(parse_roman('IIV')).to_equal(-1) expect(parse_roman('IIII')).to_equal(-1) expect(parse_roman('O')).to_equal(-1) expect(parse_roman('VIIII')).to_equal(-1) expect(parse_roman('XXL')).to_equal(-1) expect(parse_roman('XXC')).to_equal(-1) expect(parse_roman('XXXX')).to_equal(-1) expect(parse_roman('LL')).to_equal(-1) expect(parse_roman('LXXXX')).to_equal(-1) expect(parse_roman('CCD')).to_equal(-1) expect(parse_roman('CCM')).to_equal(-1) expect(parse_roman('CCCC')).to_equal(-1) expect(parse_roman('DD')).to_equal(-1) expect(parse_roman('DCCCC')).to_equal(-1) expect(parse_roman('MMV̅')).to_equal(-1) expect(parse_roman('V̅V̅X̅')).to_equal(-1) expect(parse_roman('MMMM')).to_equal(-1) expect(parse_roman('V̅V̅')).to_equal(-1) expect(parse_roman('X̅MMM')).to_equal(-1) expect(parse_roman('')).to_equal(-1) expect(parse_roman('A')).to_equal(-1) expect(parse_roman('MMMA')).to_equal(-1)
def test_hundreds(exp, act): expect(parse_roman(act)).to_equal(exp)
def test_tens(exp, act): expect(parse_roman(act)).to_equal(exp)
def test_3(): expect(parse_roman('III')).to_equal(3)
def test_2(): expect(parse_roman('II')).to_equal(2)
def test_1(): expect(parse_roman('I')).to_equal(1)