Esempio n. 1
0
    def test_percent_fraction(self):
        text = '1/2 %'
        ants = list(get_percent_annotations(text))
        self.assertEqual(1, len(ants))
        self.assertEqual(Decimal('0.005'), ants[0].fraction)

        text = '2 ⅗ percent'
        ants = list(get_percent_annotations(text))
        self.assertEqual(1, len(ants))
        self.assertEqual(Decimal('0.026'), ants[0].fraction)
Esempio n. 2
0
 def parse(self, log: ProcessLogger, text, text_unit_id, _text_unit_lang, **kwargs) -> ParseResults:
     found = list(percents.get_percent_annotations(text,
                                                   float_digits=DEFAULT_FLOAT_PRECIZION))
     if found:
         unique = set(found)
         return ParseResults({PercentUsage: [PercentUsage(text_unit_id=text_unit_id,
                                                          amount=item.amount,
                                                          amount_str=item.text,
                                                          unit_type=item.sign,
                                                          total=item.fraction,
                                                          count=found.count(item)) for item in unique]})
Esempio n. 3
0
    def test_percent(self):
        text = "I'm 146.5 percent sure (or just 100%)"
        ds = list(get_percents(text))
        self.assertEqual(2, len(ds))

        ants = list(get_percent_annotations(text))
        self.assertEqual(2, len(ants))
        self.assertEqual('en', ants[0].locale)
        self.assertEqual('percent', ants[0].sign)
        self.assertEqual(146.5, ants[0].amount)

        self.assertEqual('%', ants[1].sign)
        self.assertEqual(100.0, ants[1].amount)
Esempio n. 4
0
 def test_percent_mix_fraction(self):
     text = '020 ⅗%'
     ants = list(get_percent_annotations(text))
     self.assertEqual(1, len(ants))
     self.assertEqual(Decimal('0.206'), ants[0].fraction)
Esempio n. 5
0
 def test_percent_amount(self):
     text = "30% or more plus"
     ants = list(get_percent_annotations(text))
     self.assertEqual(1, len(ants))
     self.assertEqual(30, ants[0].amount)
     self.assertEqual(Decimal('0.3'), ants[0].fraction)