DependenciesTreeTests   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 13
Bugs 3 Features 1
Metric Value
c 13
b 3
f 1
dl 0
loc 47
ccs 45
cts 45
cp 1
rs 10
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testLoadSave() 0 13 2
B testBasicClass() 0 31 1
1 1
from ppp_questionparsing_grammatical import Nounificator
2
3 1
from unittest import TestCase
4
5 1
class DependenciesTreeTests(TestCase):
6
7 1
    def testBasicClass(self):
8 1
        n = Nounificator()
9 1
        self.assertEqual(n.directNouns('a'), [])
10 1
        n.addDirect('a', 'b')
11 1
        n.addInverse('a', 'c')
12 1
        n.addListDirect('a', 'd e'.split(' '))
13 1
        self.assertEqual(str(n), "a:\t->['b', 'd', 'e']\na:\t<-['c']")
14 1
        self.assertTrue('b' in n.directNouns('a'))
15 1
        self.assertTrue('c' in n.inverseNouns('a'))
16 1
        self.assertFalse('f' in n.inverseNouns('a'))
17 1
        self.assertEqual(n.directNouns('b'), [])
18 1
        n.removeDirect('a', 'b')
19 1
        self.assertFalse('b' in n.directNouns('a'))
20 1
        self.assertTrue('c' in n.inverseNouns('a'))
21 1
        self.assertTrue(n.exists('a'))
22 1
        n.removeInverse('a', 'c')
23 1
        n.removeDirect('a', 'd')
24 1
        n.removeDirect('a', 'e')
25 1
        self.assertEqual(n.directNouns('a'), [])
26 1
        n.addListInverse('u', ['r', 't'])
27 1
        self.assertTrue('t' in n.inverseNouns('u'))
28 1
        n.removeVerbInverse('u')
29 1
        self.assertFalse(n.exists('u'))
30 1
        m = Nounificator()
31 1
        m.addDirect('k', 'l')
32 1
        m.addInverse('k', 'o')
33 1
        n.merge(m)
34 1
        self.assertTrue('l' in n.directNouns('k'))
35 1
        self.assertTrue('o' in n.inverseNouns('k'))
36 1
        n.removeVerbDirect('k')
37 1
        self.assertFalse('l' in n.directNouns('k'))
38
39 1
    def testLoadSave(self):
40 1
        n = Nounificator()
41 1
        n.addListDirect('a', ['b1', 'b2', 'b3'] )
42 1
        n.addInverse('a', 'c')
43 1
        n.addDirect('s', 't')
44 1
        n.addListInverse('x', ['z1', 'z2'])
45 1
        n.addInverse('s', 'e f')
46 1
        n.addInverse('r s', 'e f g')
47 1
        for ext in {'pickle', 'json', 'txt'}:
48 1
            n.save('/tmp/test.%s' % ext)
49 1
            m = Nounificator()
50 1
            m.load('/tmp/test.%s' % ext)
51
            self.assertEqual(n, m)
52