def test_that_roman_numbers_work(self): pnums = mp.extract_page_numbers_from_par({ 1: ["|| - Seite I -"], 7: ["|| - Seite XVI -"], 20: ["|| - Seite CCC -"], }) self.assertEqual(len(pnums), 3)
def test_that_more_than_one_pnum_is_parsed_and_line_numbers_are_correct(self): pars = collections.OrderedDict() pars[1] = ['|| - Seite 80 -'] pars[3] = ['|| Some text', 'hopefully ignored'] pars[5] = ['|| - Seite 81 -'] pnums = mp.extract_page_numbers_from_par(pars) self.assertEqual(len(pnums), 2) lnums = [pnum.line_no for pnum in pnums] self.assertTrue(1 in lnums and 5 in lnums)
def test_invalid_roman_numbers_trigger_exception(self): pnums = mp.extract_page_numbers_from_par({1:['|| - Seite IIIIIVC -']}) self.assertEqual(len(pnums), 0)
def test_that_varying_spaces_are_not_an_issue(self): pnums = mp.extract_page_numbers_from_par({1:['|| -Seite 80 -'], 7:['|| - Seite 80-']}) self.assertEqual(len(pnums), 2)
def test_that_lower_case_page_identifiers_are_recognized(self): pnums = mp.extract_page_numbers_from_par({999:['|| - seite 80 -']}) self.assertEqual(len(pnums), 1)
def test_that_invalid_page_numbers_are_ignored(self): pnums = mp.extract_page_numbers_from_par({1:['|| - Seite abc -']}) self.assertEqual(len(pnums), 0)
def test_that_incorrect_pnum_is_not_recognized(self): pars = {1:['|| - alles fehlerhaft hier -']} self.assertEqual(len(mp.extract_page_numbers_from_par(pars)), 0)
def test_that_correct_pnum_is_recognized(self): pnums = mp.extract_page_numbers_from_par({1:['|| - Seite 80 -']}) self.assertEqual(len(pnums), 1, "exactly one page number is expected.") self.assertEqual(pnums[0].number, 80)