Completed
Push — communication-check-attributes... ( 9f7621 )
by Valentin
02:26
created

tests.BaseAbstractNodeTests   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Test Coverage

Coverage 100%
Metric Value
dl 0
loc 25
ccs 12
cts 12
cp 1
rs 10
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testPredicateSet() 0 5 1
A testInverse() 0 5 1
A testInversePredicateEmpty() 0 12 1
1 1
import json
2 1
import datetime
3
4 1
from ppp_datamodel import AbstractNode, Triple, Resource, Missing
5 1
from ppp_datamodel import List, Union, Intersection
6 1
from ppp_datamodel import exceptions
7
8 1
from unittest import TestCase
9
10 1
T = Triple
11 1
R = Resource
12 1
M = Missing
13
14 1
class BaseAbstractNodeTests(TestCase):
15 1
    def testPredicateSet(self):
16 1
        self.assertEqual(T(M(), R('foo'), M()).predicate_set,
17
                {R('foo')})
18 1
        self.assertEqual(T(M(), List([R('foo'), R('bar')]), M()).predicate_set,
19
                {R('foo'), R('bar')})
20
21 1
    def testInversePredicateEmpty(self):
22 1
        self.assertEqual(T(M(), M(), M()).inverse_predicate, List([]))
23 1
        self.assertEqual(T(M(), M(), M(), M()).inverse_predicate, M())
24 1
        self.assertEqual(T(M(), M(), M()),
25
                {'type': 'triple', 'object': {'type': 'missing'},
26
                 'subject': {'type': 'missing'},
27
                 'predicate': {'type': 'missing'}})
28 1
        self.assertEqual(T(M(), M(), M(), M()),
29
                {'type': 'triple', 'object': {'type': 'missing'},
30
                 'subject': {'type': 'missing'},
31
                 'predicate': {'type': 'missing'},
32
                 'inverse-predicate': {'type': 'missing'}})
33
34 1
    def testInverse(self):
35 1
        self.assertEqual(T(R('foo'), R('bar'), R('baz'), R('qux')).inverse(),
36
                T(R('baz'), R('qux'), R('foo'), R('bar')))
37 1
        self.assertEqual(T(R('foo'), R('bar'), R('baz')).inverse(),
38
                T(R('baz'), List([]), R('foo'), R('bar')))
39