예제 #1
0
    def test_grammarizer_set_nouns_never_sets_uncountable_nouns_to_plural(self):
        paragraph = [
            [Noun.uncountable_noun('money'), Verb('grab'), Noun.uncountable_noun('tea'), EXCLAMATION],
            [Noun('witch'), Verb('have', 'had'), Noun('watch'), PERIOD]
        ]
        grammarizer = Grammarizer(paragraph, probability_plural_noun=1.0)
        grammarizer.set_nouns()
        noun_info = {
            Noun.uncountable_noun('tea'): {'plural': False, 'definite': False, 'countable': False},
            Noun('watch'): {'plural': True, 'definite': False, 'countable': True},
            Noun('witch'): {'plural': True, 'definite': False, 'countable': True},
            Noun.uncountable_noun('money'): {'plural': False, 'definite': False, 'countable': False},
        }

        self.assertEqual(grammarizer.noun_info, noun_info)
예제 #2
0
    def test_grammarizer_set_nouns(self):
        paragraph = [
            [Noun.uncountable_noun('money'), Verb('grab'), Noun('witch'), EXCLAMATION],
            [Noun('witch'), Verb('play'), Noun('watch'), PERIOD]
        ]
        grammarizer = Grammarizer(paragraph, probability_plural_noun=0.5)

        random.seed(10)

        grammarizer.set_nouns()
        noun_info = {
            Noun('watch'): {'plural': True, 'definite': False, 'countable': True},
            Noun('witch'): {'plural': False, 'definite': False, 'countable': True},
            Noun.uncountable_noun('money'): {'plural': False, 'definite': False, 'countable': False},
        }
        self.assertEqual(grammarizer.noun_info, noun_info)

        grammarizer.set_nouns()
        noun_info = {
            Noun('watch'): {'plural': True, 'definite': False, 'countable': True},
            Noun('witch'): {'plural': False, 'definite': False, 'countable': True},
            Noun.uncountable_noun('money'): {'plural': False, 'definite': False, 'countable': False},
        }
        self.assertEqual(grammarizer.noun_info, noun_info)

        grammarizer.set_nouns()
        noun_info = {
            Noun('watch'): {'plural': False, 'definite': False, 'countable': True},
            Noun('witch'): {'plural': False, 'definite': False, 'countable': True},
            Noun.uncountable_noun('money'): {'plural': False, 'definite': False, 'countable': False},
        }
        self.assertEqual(grammarizer.noun_info, noun_info)