def test_indefinite_plural(self): noun = Noun('dog') new = noun.indefinite().plural() self.assertEqual(new, Noun('a dogs', '', 'dog', tags=self.plural)) irregular = Noun('child', 'children') new = irregular.indefinite().plural() self.assertEqual( new, Noun('a children', 'children', 'child', tags=self.plural))
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_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_indefinite_does_not_change_indefinite_noun(self): noun = Noun('a').indefinite() self.assertEqual(noun.indefinite(), noun) self.assertEqual(noun.indefinite().indefinite().indefinite(), noun)