def test_load(self): from amcat.models import Token, Triple, Pos, Relation s = amcattest.create_test_analysis_sentence() w1, w2, w3 = [amcattest.create_test_word(word=x) for x in "abc"] pos = Pos.objects.create(major="x", minor="y", pos="p") t1 = Token.objects.create(sentence=s, position=1, word=w1, pos=pos) t2 = Token.objects.create(sentence=s, position=2, word=w2, pos=pos) rel = Relation.objects.create(label="su") Triple.objects.create(parent=t1, child=t2, relation=rel) tt = get_test_transformer() tt.load_sentence(s.id) triples = list(tt.get_triples()) self.assertEqual(len(triples), 1) s, p, o = triples[0] self.assertEqual(p, "rel_su") self.assertEqual(s.label, "b") tt.update("?a :rel_su []", "?a :bla 'piet'") triples = list(tt.get_triples()) self.assertEqual(len(triples), 1) s, p, o = triples[0] self.assertEqual(s.bla, "piet")
def todo_test_load(self): # TODO: do something useful when fuseki is not installed! from amcat.models import Token, Triple, Pos, Relation s = amcattest.create_test_analysis_sentence() w1, w2, w3 = [amcattest.create_test_word(word=x) for x in "abc"] pos = Pos.objects.create(major="x", minor="y", pos="p") t1 = Token.objects.create(sentence=s, position=1, word=w1, pos=pos) t2 = Token.objects.create(sentence=s, position=2, word=w2, pos=pos) rel = Relation.objects.create(label="su") Triple.objects.create(parent=t1, child=t2, relation=rel) tt = get_test_transformer() tt.load_sentence(s.id) triples = list(tt.get_triples()) self.assertEqual(len(triples), 1) s,p,o = triples[0] self.assertEqual(p, "rel_su") self.assertEqual(s.label, "b") tt.update("?a :rel_su []", "?a :bla 'piet'") triples = list(tt.get_triples()) self.assertEqual(len(triples), 1) s,p,o = triples[0] self.assertEqual(s.bla, "piet")
def _get_test_tokens(self, aa, words): s = amcattest.create_test_analysis_sentence(analysed_article=aa) if not words: words = "abcde" return [ amcattest.create_test_token( sentence=s, position=i, word=amcattest.create_test_word(word=w)) for (i, w) in enumerate(words) ]
def _get_test_tokens(self, aa, words): s = amcattest.create_test_analysis_sentence(analysed_article=aa) if not words: words = "abcde" return [amcattest.create_test_token(sentence=s, position=i, word=amcattest.create_test_word(word=w)) for (i,w) in enumerate(words)]