def test_uri_object(self): nt = b'<uri:a> <uri:b> <uri:c> .\n' data = ntriples_to_dict(BytesIO(nt)) self.assertEqual( data, {u'uri:a': { u'uri:b': [{ 'value': 'uri:c', 'type': 'uri' }] }}) self.assertEqual(nt, dict_to_ntriples(data).read())
def test_bnode_subject(self): nt = '_:a <uri:b> _:c .\n' data = ntriples_to_dict(StringIO(nt)) self.assertEquals( data, {u'_:a': { u'uri:b': [{ 'value': u'c', 'type': u'bnode' }] }}) self.assertEquals(nt, dict_to_ntriples(data).read())
def test_bnode_subject(self): nt = b'_:a <uri:b> _:c .\n' data = ntriples_to_dict(BytesIO(nt)) self.assertSequenceEqual( to_tuple({ANY: { 'uri:b': [{ 'value': ANY, 'type': 'bnode' }] }}), to_tuple(data)) self.assertEqual(nt, dict_to_ntriples(data, 'a', 'c').read())
def test_bnode_object(self): nt = b'<uri:a> <uri:b> _:c .\n' data = ntriples_to_dict(BytesIO(nt)) self.assertDictEqual( {'uri:a': { 'uri:b': [{ 'value': mock.ANY, 'type': 'bnode' }] }}, data) self.assertEqual(nt, dict_to_ntriples(data, 'c').read())
def test_literal_object(self): nt = '<uri:a> <uri:b> "foo" .\n' data = ntriples_to_dict(StringIO(nt)) self.assertEquals( data, {u'uri:a': { u'uri:b': [{ 'value': u'foo', 'type': u'literal' }] }}) self.assertEquals(nt, dict_to_ntriples(data).read())
def test_literal_value_newline_tab_escape(self): nt = '<uri:a> <uri:b> "\\n\\tHello!\\n" .\n' data = ntriples_to_dict(StringIO(nt)) self.assertEquals(data, { u'uri:a': { u'uri:b': [{ 'value': u'\n\tHello!\n', 'type': u'literal' }] } }) self.assertEquals(nt, dict_to_ntriples(data).read())
def test_literal_value_quote_escape(self): nt = '<uri:a> <uri:b> "I say \\"Hello\\"." .\n' data = ntriples_to_dict(StringIO(nt)) self.assertEquals( data, { u'uri:a': { u'uri:b': [{ 'value': u'I say "Hello".', 'type': u'literal' }] } }) self.assertEquals(nt, dict_to_ntriples(data).read())
def test_literal_value_backslash_escape(self): nt = '<uri:a> <uri:b> "c:\\\\temp\\\\foo.txt" .\n' data = ntriples_to_dict(StringIO(nt)) self.assertEquals( data, { u'uri:a': { u'uri:b': [{ 'value': u'c:\\temp\\foo.txt', 'type': u'literal' }] } }) self.assertEquals(nt, dict_to_ntriples(data).read())
def test_literal_value_backslash_escape(self): nt = b'<uri:a> <uri:b> "c:\\\\temp\\\\foo.txt" .\n' data = ntriples_to_dict(BytesIO(nt)) self.assertDictEqual( { 'uri:a': { 'uri:b': [{ 'value': 'c:\\temp\\foo.txt', 'type': 'literal' }] } }, data) self.assertEqual(nt, dict_to_ntriples(data).read())
def test_literal_datatype_object(self): nt = b'<uri:a> <uri:b> "foo"^^<uri:string> .\n' data = ntriples_to_dict(BytesIO(nt)) self.assertEqual( { 'uri:a': { 'uri:b': [{ 'value': 'foo', 'datatype': 'uri:string', 'type': 'literal' }] } }, data) self.assertEqual(nt, dict_to_ntriples(data).read())
def test_literal_language_object(self): nt = b'<uri:a> <uri:b> "foo"@en .\n' data = ntriples_to_dict(BytesIO(nt)) self.assertEqual( data, { u'uri:a': { u'uri:b': [{ 'value': u'foo', 'lang': u'en', 'type': u'literal' }] } }) self.assertEqual(nt, dict_to_ntriples(data).read())
def remove_dict(self, data, context_name): data = dict_to_ntriples(data) self.remove_ntriples(data, context_name)
def add_dict(self, data, context_name): data = dict_to_ntriples(data) self.add_ntriples(data, context_name)