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
|
|
|
|