def test_definite_plural(self): noun = Noun('dog') new = noun.definite().plural() self.assertEqual(new, Noun('the dogs', '', 'dog', self.definite_plural)) irregular = Noun('child', 'children') new = irregular.definite().plural() self.assertEqual( new, Noun('the children', 'children', 'child', self.definite_plural))
def test_to_basic_noun_special_plural(self): original = Noun('bob', 'boberino') self.assertEqual(original.to_basic_noun(), original) self.assertEqual(original.plural().to_basic_noun(), original) self.assertEqual(original.bold().to_basic_noun(), original) self.assertEqual(original.indefinite().to_basic_noun(), original) self.assertEqual(original.definite().to_basic_noun(), original) self.assertEqual(original.definite().plural().to_basic_noun(), original) self.assertEqual( original.capitalize().plural().definite().to_basic_noun(), original)
def test_definite_adds_definite_tag(self): tags = Tags([WordTag.PLURAL, WordTag.PAST]) expected_tags = Tags([WordTag.PLURAL, WordTag.PAST, WordTag.DEFINITE]) noun = Noun('x', tags=tags) self.assertEqual(noun.definite(), Noun('the x', '', 'x', tags=expected_tags))
def test_is_countable_noun_true(self): base = Noun('dog') self.assertTrue(is_countable_noun(base)) self.assertTrue(is_countable_noun(base.plural())) self.assertTrue(is_countable_noun(base.definite())) self.assertTrue(is_countable_noun(base.indefinite())) self.assertTrue(is_countable_noun(base.capitalize().bold()))
def test_capitalize_de_capitalize_regression_test(self): for value in ('BMW', 'dog', 'Practice Book'): noun = Noun(value) plural = noun.plural() definite = noun.definite() indefinite = noun.indefinite() for test_noun in [noun, plural, definite, indefinite]: self.assertEqual(test_noun, test_noun.capitalize().de_capitalize())
def test_definite_removes_indefinite_tag(self): noun = Noun('x').indefinite() self.assertEqual(noun.tags, self.indefinite) self.assertEqual(noun.definite(), Noun('the a x', '', 'x', tags=self.definite))
def test_definite_does_not_alter_definite_noun(self): noun = Noun('x').definite() self.assertEqual(noun.definite(), noun) self.assertEqual(noun.definite().definite().definite(), noun)