Example #1
0
 def test_find_noun_group_submission_str_irregular_plural(self):
     submission_str = 'I loves the feets.'
     base_noun = Noun('foot', 'feet')
     answer = find_noun_group(base_noun, submission_str)
     start = submission_str.find('the feets')
     end = start + len('the feets')
     self.assertEqual(answer, (start, end))
Example #2
0
 def test_find_noun_group_upper_case(self):
     submission_str = 'the Dogs.'
     word = Noun('dog')
     answer = find_noun_group(word, submission_str)
     start = 0
     end = len('the Dogs')
     self.assertEqual(answer, (start, end))
Example #3
0
 def test_find_noun_group_submission_str_special_rule_regular_plural(self):
     submission_str = 'look at the cute babies.'
     word = Noun('baby')
     answer = find_noun_group(word, submission_str)
     start = submission_str.find('babies')
     end = start + len('babies')
     self.assertEqual(answer, (start, end))
Example #4
0
 def test_find_noun_group_all_prefixes(self):
     prefixes = ['a', 'A', 'an', 'An', 'the', 'The']
     word = Noun('cat')
     for prefix in prefixes:
         submission_str = f'x {prefix} cat '
         answer = find_noun_group(word, submission_str)
         start = 2
         end = start + len(f'{prefix} cat')
         self.assertEqual(answer, (start, end))
Example #5
0
 def test_find_noun_group_all_noun_forms_simple_case(self):
     dogs = [
         Noun('dog'),
         Noun('dog').plural(),
         Noun('dog').indefinite(),
         Noun('dog').definite(),
         Noun('dog').plural().definite()
     ]
     capital_dogs = [word.capitalize() for word in dogs]
     submission_str = 'go dog go.'
     for word in dogs + capital_dogs:
         answer = find_noun_group(word, submission_str)
         expected = (3, 6)
         self.assertEqual(answer, expected)
Example #6
0
 def test_find_noun_group_noun_forms_complex_case(self):
     dogs = [
         Noun('dog'),
         Noun('dog').plural(),
         Noun('dog').indefinite(),
         Noun('dog').definite(),
         Noun('dog').plural().definite()
     ]
     capital_dogs = [word.capitalize() for word in dogs]
     submission_str = 'a the dogs bark.'
     for word in dogs + capital_dogs:
         answer = find_noun_group(word, submission_str)
         start = submission_str.find('the dogs')
         end = start + len('the dogs')
         self.assertEqual(answer, (start, end))
Example #7
0
 def test_find_noun_group_lower_case_edge_case(self):
     submission_str = 'The bMWs'
     word = Noun('BMW')
     self.assertIsNone(find_noun_group(word, submission_str))
Example #8
0
 def test_find_noun_group_word_not_present(self):
     submission_str = ''
     word = Noun('dog')
     self.assertIsNone(find_noun_group(word, submission_str))