class RomanNumeralTester(object): def __init__(self): self.cvt = RomanNumeralConverter() def simple_test(self): print "+++ Converting M to 1000" assert self.cvt.convert_to_decimal("M") == 1000 def combo_test1(self): print "+++ Converting MMX to 2010" assert self.cvt.convert_to_decimal("MMXX") == 2010 def combo_test2(self): print "+++ Converting MMMDCLXVII to 4668" val = self.cvt.convert_to_decimal("MMMDCLXVII") self.check(val, 4668) def other_test(self): print "++++ Converting MMMM to 4000" val = self.cvt.convert_to_decimal("MMMM") self.check(val, 4000) def check(self, actual, expected): if (actual != expected): raise AssertionError("%s doesn't equal %s") % (actual, expected) def test_the_system(self): self.simple_test() self.combo_test1() self.combo_test2() self.other_test()
class RomanNumeralTests(unittest.TestCase): def setUp(self): self.cvt = RomanNumeralConverter() def test_to_decimal1(self): self.assertEquals(0, self.cvt.convert_to_decimal("")) def test_to_decimal2(self): self.assertEquals(1, self.cvt.convert_to_decimal("I")) def test_to_decimal3(self): self.assertEquals(2010, self.cvt.convert_to_decimal("MMX")) def test_to_decimal4(self): self.assertEquals(4000, self.cvt.convert_to_decimal("MMMM")) def test_convert_to_roman1(self): self.assertEquals("", self.cvt.convert_to_roman(0)) def test_convert_to_roman2(self): self.assertEquals("II", self.cvt.convert_to_romman(2)) def test_convert_to_roman3(self): self.assertEquals("V", self.cvt.convert_to_roman(5)) def test_convert_to_roman4(self): self.assertEquals("XII", self.cvt.convert_to_roman(12)) def test_convert_to_roman5(self): self.assertEquals("MMX", self.cvt.convert_to_roman(2010)) def test_convert_to_roman6(self): self.assertEquals("MMMM", self.cvt.convert_to_roman(4000))
class RomanNumeralTester(object): def __init__(self): self.cvt = RomanNumeralConverter() def simple_test(self): print "+++ Converting M to 1000" assert self.cvt.convert_to_decimal("M") == 1000 def combo_test1(self): print "+++ Converting MMX to 2010" assert self.cvt.convert_to_decimal("MMXX") == 2010 def combo_test2(self): print "+++ Converting MMMDCLXVII to 4668" val = self.cvt.convert_to_decimal("MMMDCLXVII") self.check(val, 4668) def other_test(self): print "++++ Converting MMMM to 4000" val = self.cvt.convert_to_decimal("MMMM") self.check(val, 4000) def check(self, actual, expected): if actual != expected: raise AssertionError("%s doesn't equal %s") % (actual, expected) def test_the_system(self): self.simple_test() self.combo_test1() self.combo_test2() self.other_test()
class RomanNumeralComboTest(unittest.TestCase): def setUp(self): self.cvt = RomanNumeralConverter() def test_multi_millenia(self): self.assertEquals(4000, self.cvt.convert_to_decimal("MMM")) def test_multi_add_up(self): self.assertEquals(2010, self.cvt.convert_to_decimal("MMX"))
class RomanNumeralConverterTest(unittest.TestCase): def setUp(self): print "Creating a new RomanNumeralConverter..." self.cvt = RomanNumeralConverter() def tearDown(self): print "Destroying the RomanNumeralConverter..." self.cvt = None def test_parsing_millenia(self): self.assertEquals(1000, self.cvt.convert_to_decimal("M")) def test_parsing_century(self): self.assertEquals(100, self.cvt.convert_to_decimal("C")) def test_parsing_half_century(self): self.assertEquals(50, self.cvt.convert_to_decimal("L")) def test_parsing_decade(self): self.assertEquals(10, self.cvt.convert_to_decimal("X")) def test_parsing_half_decade(self): self.assertEquals(5, self.cvt.convert_to_decimal("V")) def test_parsing_one(self): self.assertEquals(1, self.cvt.convert_to_decimal("I")) def test_empty_roman_numeral(self): self.assertTrue(self.cvt.convert_to_decimal("") == 0) self.assertFalse(self.cvt.convert_to_decimal("") > 0) def test_no_roman_numeral(self): self.assertRaises(TypeError, self.cvt.convert_to_decimal, None)