|
@@ -0,0 +1,74 @@
|
|
|
+import unittest
|
|
|
+
|
|
|
+from os import path
|
|
|
+
|
|
|
+from lsup_rdf import env_init, term, triple, graph
|
|
|
+
|
|
|
+TEST_DIR = path.realpath(path.dirname(__file__))
|
|
|
+
|
|
|
+
|
|
|
+class TestTerm(unittest.TestCase):
|
|
|
+ def setUp(self):
|
|
|
+ self.s1 = term.Term(term.TERM_IRIREF, "urn:s:1")
|
|
|
+ self.p1 = term.Term(term.TERM_IRIREF, "urn:p:1")
|
|
|
+ self.o1 = term.Term(term.TERM_IRIREF, "urn:o:1")
|
|
|
+ self.s2 = term.Term(term.TERM_IRIREF, "urn:s:2")
|
|
|
+ self.p2 = term.Term(term.TERM_IRIREF, "urn:p:2")
|
|
|
+ self.o2 = term.Term(term.TERM_IRIREF, "urn:o:2")
|
|
|
+ self.s3 = term.Term(term.TERM_IRIREF, "urn:s:3")
|
|
|
+ self.p3 = term.Term(term.TERM_IRIREF, "urn:p:3")
|
|
|
+ self.o3 = term.Term(term.TERM_IRIREF, "urn:o:3")
|
|
|
+
|
|
|
+ self.trp = [
|
|
|
+ triple.Triple(self.s1, self.p1, self.o1),
|
|
|
+ triple.Triple(self.s2, self.p2, self.o2),
|
|
|
+ ]
|
|
|
+ self.t3 = triple.Triple(self.s3, self.p3, self.o3)
|
|
|
+ self.t4 = triple.Triple(self.s1, self.p1, self.o1)
|
|
|
+
|
|
|
+ def test_term(self):
|
|
|
+ s1 = term.Term(term.TERM_IRIREF, "urn:s:1")
|
|
|
+
|
|
|
+ self.assertTrue(isinstance(s1, term.Term))
|
|
|
+ self.assertEqual(s1.data, "urn:s:1")
|
|
|
+ self.assertEqual(s1.type, term.TERM_IRIREF)
|
|
|
+
|
|
|
+ def test_graph(self):
|
|
|
+ gr = graph.Graph(graph.STORE_MEM)
|
|
|
+ gr.uri = term.Term(term.TERM_IRIREF, 'urn:c:1')
|
|
|
+
|
|
|
+ self.assertEqual(gr.uri, 'urn:c:1')
|
|
|
+
|
|
|
+ def test_graph_ops(self):
|
|
|
+ gr = graph.Graph(graph.STORE_MEM)
|
|
|
+
|
|
|
+ print('Adding triples.')
|
|
|
+ gr.add(self.trp)
|
|
|
+
|
|
|
+ self.assertEqual(len(gr), 2)
|
|
|
+ self.assertTrue(self.trp[0] in gr)
|
|
|
+ self.assertTrue(self.trp[1] in gr)
|
|
|
+ self.assertFalse(self.t3 in gr)
|
|
|
+ self.assertTrue(self.t4 in gr)
|
|
|
+
|
|
|
+ gr.remove(self.s1, None, None)
|
|
|
+
|
|
|
+ self.assertFalse(self.trp[0] in gr)
|
|
|
+ self.assertTrue(self.trp[1] in gr)
|
|
|
+
|
|
|
+ print('Encoded NT:')
|
|
|
+ for line in gr.to_rdf('nt'):
|
|
|
+ print(line)
|
|
|
+
|
|
|
+ def test_deserialize(self):
|
|
|
+ print('From file.')
|
|
|
+ with open(path.join(TEST_DIR, 'assets', 'test.nt'), 'rb') as fh:
|
|
|
+ gr2 = graph.Graph.from_rdf(fh, 'nt')
|
|
|
+
|
|
|
+ self.assertTrue(self.trp[0] in gr2)
|
|
|
+ self.assertTrue(self.trp[1] in gr2)
|
|
|
+
|
|
|
+
|
|
|
+if __name__ == '__main__':
|
|
|
+ env_init()
|
|
|
+ unittest.main()
|