annotate service/mqtt_to_rdf/lhs_evaluation_test.py @ 1610:6fc48ef4c696

mysteriously lost an important line
author drewp@bigasterisk.com
date Mon, 06 Sep 2021 18:07:28 -0700
parents 449746d1598f
children 4fd9fdfcf16a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1605
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
1 import unittest
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
2
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
3 from rdflib import RDF, ConjunctiveGraph, Literal, Namespace
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
4 from rdflib.parser import StringInputSource
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
5
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
6 from lhs_evaluation import _parseList
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
7
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
8 EX = Namespace('http://example.com/')
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
9
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
10
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
11 def N3(txt: str):
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
12 g = ConjunctiveGraph()
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
13 prefix = """
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
14 @prefix : <http://example.com/> .
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
15 """
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
16 g.parse(StringInputSource((prefix + txt).encode('utf8')), format='n3')
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
17 return g
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
18
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
19
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
20 class TestParseList(unittest.TestCase):
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
21
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
22 def test0Elements(self):
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
23 g = N3(":a :b () .")
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
24 bn = g.value(EX['a'], EX['b'])
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
25 elems, used = _parseList(g, bn)
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
26 self.assertEqual(elems, [])
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
27 self.assertFalse(used)
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
28
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
29 def test1Element(self):
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
30 g = N3(":a :b (0) .")
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
31 bn = g.value(EX['a'], EX['b'])
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
32 elems, used = _parseList(g, bn)
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
33 self.assertEqual(elems, [Literal(0)])
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
34 used = sorted(used)
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
35 self.assertEqual(used, [
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
36 (bn, RDF.first, Literal(0)),
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
37 (bn, RDF.rest, RDF.nil),
449746d1598f WIP move evaluation to new file
drewp@bigasterisk.com
parents:
diff changeset
38 ])