def test_annotations(self): text = 'Dieses Einkommen macht zwanzig Prozent des Gesamteinkommens aus' res = list(get_percent_annotations(text)) self.assertEqual(1, len(res)) self.assertEqual((22, 39), res[0].coords) self.assertEqual('zwanzig Prozent', res[0].text.strip()) self.assertEqual('prozent', res[0].sign) self.assertEqual(20, res[0].amount) self.assertEqual(20, res[0].fraction)
def get_ordered_percent_annotations(text: str) -> List[PercentAnnotation]: ants = list(get_percent_annotations(text)) ants.sort(key=lambda a: a.coords[0]) return ants