processors.tests.test_dependencies   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 4
eloc 34
dl 0
loc 46
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A DependenciesTests.test_bag_of_unlabeled() 0 13 2
A DependenciesTests.test_bag_of_labeled() 0 13 2
1
# -*- coding: utf-8 -*-
2
3
import unittest
4
from processors import *
5
import os
6
7
8
__location__ = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__)))
9
10
'''
11
Testing utilities for manipulating syntactic dependencies.
12
'''
13
14
class DependenciesTests(unittest.TestCase):
15
16
    def test_bag_of_labeled(self):
17
        json_file = os.path.join(__location__,'serialized_biodoc.json')
18
        with open(json_file) as jf:
19
            biodoc = Document.load_from_JSON(json.load(jf))
0 ignored issues
show
Comprehensibility Best Practice introduced by
The variable Document does not seem to be defined.
Loading history...
20
        s = biodoc.sentences[0]
21
        words_labeled = set([('arthropod', 'det', 'the'), ('arthropod', 'dep', 'cord'), ('arrays', 'amod', 'repeated'), ('cord', 'amod', 'ventral'), ('cord', 'nn', 'nerve'), ('features', 'nsubj', 'arthropod'), ('features', 'dobj', 'number'), ('features', 'vmod', 'occurring'), ('low', 'advmod', 'comparably'), ('number', 'det', 'a'), ('number', 'amod', 'low'), ('number', 'prep_of', 'neurons'), ('neurons', 'amod', 'serotonin-immunoreactive'), ('occurring', 'prep', 'in'), ('occurring', 'dobj', 'arrays'), ('in', 'pcomp', 'segmentally')])
22
        self.assertEqual(set(s.bag_of_labeled_dependencies_using("words")), words_labeled, "labeled dependencies for sentence using form 'word' were ill-formed.")
23
        tags_labeled = set([('NN', 'det', 'DT'), ('NN', 'dep', 'NN'), ('NNS', 'amod', 'VBN'), ('NN', 'amod', 'JJ'), ('NN', 'nn', 'NN'), ('VBZ', 'nsubj', 'NN'), ('VBZ', 'dobj', 'NN'), ('VBZ', 'vmod', 'VBG'), ('JJ', 'advmod', 'RB'), ('NN', 'det', 'DT'), ('NN', 'amod', 'JJ'), ('NN', 'prep_of', 'NNS'), ('NNS', 'amod', 'JJ'), ('VBG', 'prep', 'IN'), ('VBG', 'dobj', 'NNS'), ('IN', 'pcomp', 'RB')])
24
        self.assertEqual(set(s.bag_of_labeled_dependencies_using("tags")), tags_labeled, "labeled dependencies for sentence using form 'tags' were ill-formed.")
25
        lemmas_labeled = set([('arthropod', 'det', 'the'), ('arthropod', 'dep', 'cord'), ('array', 'amod', 'repeat'), ('cord', 'amod', 'ventral'), ('cord', 'nn', 'nerve'), ('feature', 'nsubj', 'arthropod'), ('feature', 'dobj', 'number'), ('feature', 'vmod', 'occur'), ('low', 'advmod', 'comparably'), ('number', 'det', 'a'), ('number', 'amod', 'low'), ('number', 'prep_of', 'neuron'), ('neuron', 'amod', 'serotonin-immunoreactive'), ('occur', 'prep', 'in'), ('occur', 'dobj', 'array'), ('in', 'pcomp', 'segmentally')])
26
        self.assertEqual(set(s.bag_of_labeled_dependencies_using("lemmas")),lemmas_labeled, "labeled dependencies for sentence using form 'lemmas' were ill-formed.")
27
        indices_labeled = set([(1, 'det', 0), (1, 'dep', 4), (18, 'amod', 17), (4, 'amod', 2), (4, 'nn', 3), (5, 'nsubj', 1), (5, 'dobj', 9), (5, 'vmod', 14), (8, 'advmod', 7), (9, 'det', 6), (9, 'amod', 8), (9, 'prep_of', 12), (12, 'amod', 11), (14, 'prep', 15), (14, 'dobj', 18), (15, 'pcomp', 16)])
28
        self.assertEqual(set(s.bag_of_labeled_dependencies_using("index")), indices_labeled, "labeled dependencies for sentence using form 'index' were ill-formed.")
29
30
    def test_bag_of_unlabeled(self):
31
        json_file = os.path.join(__location__,'serialized_biodoc.json')
32
        with open(json_file) as jf:
33
            biodoc = Document.load_from_JSON(json.load(jf))
0 ignored issues
show
Comprehensibility Best Practice introduced by
The variable Document does not seem to be defined.
Loading history...
34
        s = biodoc.sentences[0]
35
        words_unlabeled = set([('arthropod', 'the'), ('arthropod', 'cord'), ('arrays', 'repeated'), ('cord', 'ventral'), ('cord', 'nerve'), ('features', 'arthropod'), ('features', 'number'), ('features', 'occurring'), ('low', 'comparably'), ('number', 'a'), ('number', 'low'), ('number', 'neurons'), ('neurons', 'serotonin-immunoreactive'), ('occurring', 'in'), ('occurring', 'arrays'), ('in', 'segmentally')])
36
        self.assertEqual(set(s.bag_of_unlabeled_dependencies_using("words")), words_unlabeled, "unlabeled dependencies for sentence using form 'word' were ill-formed.")
37
        tags_unlabeled = set([('NN', 'DT'), ('NN', 'NN'), ('NNS', 'VBN'), ('NN', 'JJ'), ('NN', 'NN'), ('VBZ', 'NN'), ('VBZ', 'NN'), ('VBZ', 'VBG'), ('JJ', 'RB'), ('NN', 'DT'), ('NN', 'JJ'), ('NN', 'NNS'), ('NNS', 'JJ'), ('VBG', 'IN'), ('VBG', 'NNS'), ('IN', 'RB')])
38
        self.assertEqual(set(s.bag_of_unlabeled_dependencies_using("tags")), tags_unlabeled, "unlabeled dependencies for sentence using form 'tags' were ill-formed.")
39
        lemmas_unlabeled = set([('arthropod', 'the'), ('arthropod', 'cord'), ('array', 'repeat'), ('cord', 'ventral'), ('cord', 'nerve'), ('feature', 'arthropod'), ('feature', 'number'), ('feature', 'occur'), ('low', 'comparably'), ('number', 'a'), ('number', 'low'), ('number', 'neuron'), ('neuron', 'serotonin-immunoreactive'), ('occur', 'in'), ('occur', 'array'), ('in', 'segmentally')])
40
        self.assertEqual(set(s.bag_of_unlabeled_dependencies_using("lemmas")),lemmas_unlabeled, "unlabeled dependencies for sentence using form 'lemmas' were ill-formed.")
41
        indices_unlabeled = set([(1, 0), (1, 4), (18, 17), (4, 2), (4, 3), (5, 1), (5, 9), (5, 14), (8, 7), (9, 6), (9, 8), (9, 12), (12, 11), (14, 15), (14, 18), (15, 16)])
42
        self.assertEqual(set(s.bag_of_unlabeled_dependencies_using("index")), indices_unlabeled, "unlabeled dependencies for sentence using form 'index' were ill-formed.")
43
44
if __name__ == "__main__":
45
    unittest.main()
46