def test_extract_sources(self): d = Document() d.text = 'Fred Astair did something. He also did something else.' u = Utterance() u.entity = self.fx.EntityData.zuma u.document = d self.ex.extract_sources(d) self.assertEqual(['Jacob Zuma'], [s.person.name for s in d.sources])
def test_extract_sources(self): d = Document.query.get(self.fx.DocumentData.simple.id) d.text = 'Fred Astair did something. He also did something else.' u = Utterance() u.entity = Entity.query.get(self.fx.EntityData.zuma.id) u.document = d u.quote = 'a quote' self.ex.extract_sources(d) self.assertEqual(['Jacob Zuma'], [s.person.name for s in d.sources])
def test_add_utterance(self): doc = Document() doc.text = 'And Fred said "Hello" to everyone.' u = Utterance() u.entity = Entity() u.entity.group = 'person' u.entity.name = 'Fred' u.quote = 'Hello' self.assertTrue(doc.add_utterance(u)) self.assertTrue(u in doc.utterances) # can't add twice self.assertFalse(doc.add_utterance(u)) self.assertEqual(1, len(doc.utterances))
def test_add_utterance(self): doc = self.doc doc.text = 'And Fred said "Hello" to everyone.' u = Utterance() u.entity = Entity() u.entity.group = 'person' u.entity.name = u'Fred' u.quote = u'Hello' self.assertTrue(doc.add_utterance(u)) self.assertTrue(u in doc.utterances) # can't add twice self.assertFalse(doc.add_utterance(u)) self.assertEqual(1, len(doc.utterances))
def test_match_people(self): d = Document.query.get(self.fx.DocumentData.simple.id) d.text = 'Fred Astair did something. He also did something else.' u = Utterance() u.entity = Entity() u.entity.group = 'people' u.entity.name = 'Jacob Zume' # will fix to zuma u.quote = 'a quote' u.document = d u2 = Utterance() u2.entity = Entity() u2.entity.group = 'people' u2.entity.name = 'Jacob Zooma' # too different u2.quote = 'a quote' u2.document = d self.ex.discover_people(d) self.assertEqual('Jacob Zuma', u.entity.person.name) self.assertIsNone(u2.entity.person)
def test_delete_document(self): doc = Document() doc.text = 'And Fred said "Hello" to everyone.' doc.published_at = datetime.datetime.utcnow() u = Utterance() u.entity = Entity() u.entity.group = 'person' u.entity.name = 'Fred' u.quote = 'Hello' self.assertTrue(doc.add_utterance(u)) de = DocumentEntity() de.document = doc de.entity = Entity.query.first() de.relevance = 0.5 self.db.session.add(doc) self.db.session.commit() self.db.session.delete(doc) self.db.session.commit()
def test_delete_document(self): doc = self.doc doc.text = u'And Fred said "Hello" to everyone.' doc.published_at = datetime.datetime.utcnow() u = Utterance() u.entity = Entity() u.entity.group = 'person' u.entity.name = u'Fred' u.quote = u'Hello' self.assertTrue(doc.add_utterance(u)) de = DocumentEntity() de.document = doc de.relevance = 0.5 de.entity = Entity.query.first() self.db.session.add(doc) self.db.session.commit() self.db.session.delete(doc) self.db.session.commit()
def test_add_utterance_update_offset(self): doc = self.doc doc.text = u'And Fred said "Hello" to everyone.' u = Utterance() u.entity = Entity() u.entity.group = 'person' u.entity.name = u'Fred' u.quote = u'Hello' self.assertTrue(doc.add_utterance(u)) u2 = Utterance() u2.entity = Entity() u2.entity.group = u'person' u2.entity.name = u'Fred' u2.quote = u'Hello' u2.offset = 10 u2.length = 5 self.assertTrue(doc.add_utterance(u2)) self.assertEqual(10, u.offset) self.assertEqual(5, u.length) self.assertFalse(doc.add_utterance(u2))
def test_add_utterance_similar(self): doc = self.doc doc.text = 'And Fred said "Hello there guys," to everyone.' u = Utterance() u.entity = Entity() u.entity.group = 'person' u.entity.name = u'Fred' u.quote = u'Hello there guys' self.assertTrue(doc.add_utterance(u)) self.assertTrue(u in doc.utterances) # can't add similar quotations twice u2 = Utterance() u2.entity = Entity() u2.entity.group = 'person' u2.entity.name = u'Fred' u2.quote = u'\"Hello there guys,\" ...' self.assertFalse(doc.add_utterance(u2)) self.assertEqual(1, len(doc.utterances))
def test_add_utterance_update_offset(self): doc = Document() doc.text = 'And Fred said "Hello" to everyone.' u = Utterance() u.entity = Entity() u.entity.group = 'person' u.entity.name = 'Fred' u.quote = 'Hello' self.assertTrue(doc.add_utterance(u)) u2 = Utterance() u2.entity = Entity() u2.entity.group = 'person' u2.entity.name = 'Fred' u2.quote = 'Hello' u2.offset = 10 u2.length = 5 self.assertTrue(doc.add_utterance(u2)) self.assertEqual(10, u.offset) self.assertEqual(5, u.length) self.assertFalse(doc.add_utterance(u2))
def test_add_utterance_similar(self): doc = Document() doc.text = 'And Fred said "Hello there guys," to everyone.' u = Utterance() u.entity = Entity() u.entity.group = 'person' u.entity.name = 'Fred' u.quote = 'Hello there guys' self.assertTrue(doc.add_utterance(u)) self.assertTrue(u in doc.utterances) # can't add similar quotations twice u2 = Utterance() u2.entity = Entity() u2.entity.group = 'person' u2.entity.name = 'Fred' u2.quote = '\"Hello there guys,\" ...' self.assertFalse(doc.add_utterance(u2)) self.assertEqual(1, len(doc.utterances))