Exemple #1
0
def _needs_third_person(sentence: Sentence):
    verb_index = sentence.get_verb()
    subject_index = sentence.get_subject()
    if verb_index == -1 or subject_index == -1:
        return False

    subject = sentence.get(subject_index)

    first_person = (Pronoun.I, Pronoun.ME, CapitalPronoun.I, CapitalPronoun.ME)
    if isinstance(subject, (Noun, AbstractPronoun)) and subject not in first_person:
        return not subject.has_tags(WordTag.PLURAL)
    return False
Exemple #2
0
 def test_sentence_get_verb_returns_first_instance_of_be_verb(self):
     sentence = Sentence([BeVerb.WERE_NOT, Verb('go'), BeVerb.WERE])
     self.assertEqual(sentence.get_verb(), 0)
Exemple #3
0
 def test_sentence_get_verb_be_verb(self):
     sentence = Sentence([BasicWord('I'), BeVerb.AM.past_tense().negative()])
     self.assertEqual(sentence.get_verb(), 1)
Exemple #4
0
 def test_sentence_get_verb_two_verbs_returns_first_verb(self):
     sentence = Sentence([Verb('go'), Verb('play')])
     self.assertEqual(sentence.get_verb(), 0)
Exemple #5
0
 def test_sentence_get_verb_with_verb(self):
     sentence = Sentence([BasicWord('Bob'), Verb('go').third_person(), BasicWord('home')])
     self.assertEqual(sentence.get_verb(), 1)
Exemple #6
0
 def test_sentence_get_verb_no_verb(self):
     sentence = Sentence([BasicWord('Hello'), BasicWord('world')])
     self.assertEqual(sentence.get_verb(), -1)