cpython_test.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import unittest
  2. from os import path
  3. from lsup_rdf import env_init, term, triple, graph
  4. TEST_DIR = path.realpath(path.dirname(__file__))
  5. class TestTerm(unittest.TestCase):
  6. def setUp(self):
  7. self.s1 = term.Term(term.TERM_IRIREF, "urn:s:1")
  8. self.p1 = term.Term(term.TERM_IRIREF, "urn:p:1")
  9. self.o1 = term.Term(term.TERM_IRIREF, "urn:o:1")
  10. self.s2 = term.Term(term.TERM_IRIREF, "urn:s:2")
  11. self.p2 = term.Term(term.TERM_IRIREF, "urn:p:2")
  12. self.o2 = term.Term(term.TERM_IRIREF, "urn:o:2")
  13. self.s3 = term.Term(term.TERM_IRIREF, "urn:s:3")
  14. self.p3 = term.Term(term.TERM_IRIREF, "urn:p:3")
  15. self.o3 = term.Term(term.TERM_IRIREF, "urn:o:3")
  16. self.trp = [
  17. triple.Triple(self.s1, self.p1, self.o1),
  18. triple.Triple(self.s2, self.p2, self.o2),
  19. ]
  20. self.t3 = triple.Triple(self.s3, self.p3, self.o3)
  21. self.t4 = triple.Triple(self.s1, self.p1, self.o1)
  22. def test_term(self):
  23. s1 = term.Term(term.TERM_IRIREF, "urn:s:1")
  24. self.assertTrue(isinstance(s1, term.Term))
  25. self.assertEqual(s1.data, "urn:s:1")
  26. self.assertEqual(s1.type, term.TERM_IRIREF)
  27. def test_graph(self):
  28. gr = graph.Graph(graph.STORE_MEM)
  29. gr.uri = term.Term(term.TERM_IRIREF, 'urn:c:1')
  30. self.assertEqual(gr.uri, 'urn:c:1')
  31. def test_graph_ops(self):
  32. gr = graph.Graph(graph.STORE_MEM)
  33. print('Adding triples.')
  34. gr.add(self.trp)
  35. self.assertEqual(len(gr), 2)
  36. self.assertTrue(self.trp[0] in gr)
  37. self.assertTrue(self.trp[1] in gr)
  38. self.assertFalse(self.t3 in gr)
  39. self.assertTrue(self.t4 in gr)
  40. gr.remove(self.s1, None, None)
  41. self.assertFalse(self.trp[0] in gr)
  42. self.assertTrue(self.trp[1] in gr)
  43. print('Encoded NT:')
  44. for line in gr.to_rdf('nt'):
  45. print(line)
  46. def test_deserialize(self):
  47. print('From file.')
  48. with open(path.join(TEST_DIR, 'assets', 'test.nt'), 'rb') as fh:
  49. gr2 = graph.Graph.from_rdf(fh, 'nt')
  50. self.assertTrue(self.trp[0] in gr2)
  51. self.assertTrue(self.trp[1] in gr2)
  52. if __name__ == '__main__':
  53. env_init()
  54. unittest.main()