コード例 #1
0
    def test_plural_indefinite(self):
        noun = Noun('dog')
        new = noun.plural().indefinite()
        self.assertEqual(new, Noun('a dogs', '', 'dog', tags=self.indefinite))

        irregular = Noun('child', 'children')
        new = irregular.plural().indefinite()
        self.assertEqual(
            new, Noun('a children', 'children', 'child', tags=self.indefinite))
コード例 #2
0
    def test_plural_definite(self):
        noun = Noun('dog')
        new = noun.plural().definite()
        self.assertEqual(new, Noun('the dogs', '', 'dog',
                                   self.definite_plural))

        irregular = Noun('child', 'children')
        new = irregular.plural().definite()
        self.assertEqual(
            new, Noun('the children', 'children', 'child',
                      self.definite_plural))
コード例 #3
0
    def test_plural_removes_uncountable_tag(self):
        noun = Noun('water', tags=Tags([WordTag.UNCOUNTABLE]))
        self.assertEqual(noun.plural(),
                         Noun('waters', '', 'water', tags=self.plural))

        definite = Noun('the water',
                        '',
                        'water',
                        tags=self.definite_uncountable)
        self.assertEqual(
            definite.plural(),
            Noun('the waters', '', 'water', tags=self.definite_plural))
コード例 #4
0
    def test_plural_adds_plural_tag(self):
        noun = Noun('dog', tags=Tags())
        definite = Noun('the dog', '', 'dog', tags=self.definite)
        proper = Noun('Joe', tags=self.proper)

        self.assertEqual(noun.plural(),
                         Noun('dogs', '', 'dog', tags=self.plural))
        self.assertEqual(
            definite.plural(),
            Noun('the dogs', '', 'dog', tags=self.definite_plural))
        self.assertEqual(proper.plural(),
                         Noun('Joes', '', 'Joe', tags=self.plural_proper))
コード例 #5
0
    def test_plural_does_not_change_a_plural_noun(self):
        plural = Noun('dog').plural()
        definite_plural = Noun('dog').definite().plural()
        proper_plural = Noun.proper_noun('the Joneses', plural=True)

        self.assertEqual(plural.plural(), plural)
        self.assertEqual(plural.plural().plural().plural(), plural)

        self.assertEqual(definite_plural.plural(), definite_plural)
        self.assertEqual(definite_plural.plural().plural().plural(),
                         definite_plural)

        self.assertEqual(proper_plural.plural(), proper_plural)
        self.assertEqual(proper_plural.plural().plural().plural(),
                         proper_plural)
コード例 #6
0
 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()))
コード例 #7
0
    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())
コード例 #8
0
 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)
コード例 #9
0
 def test_plural_removes_indefinite_tag(self):
     noun = Noun('a dog', '', 'dog', tags=self.indefinite)
     self.assertEqual(noun.plural(),
                      Noun('a dogs', '', 'dog', tags=self.plural))