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)