diff options
author | Nicholas Car <nicholas.car@surroundaustralia.com> | 2021-08-28 18:23:23 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-28 18:23:23 +1000 |
commit | 78c313719c69a0684fc19b3b42eef02a7dad3b8b (patch) | |
tree | c5b9de4163c49393f5096dfd13eabfa482b7c9f6 | |
parent | 9c457acada0ea6756e1e050beed053fb3297acc3 (diff) | |
download | rdflib-78c313719c69a0684fc19b3b42eef02a7dad3b8b.tar.gz |
test for Dataset __iter__
-rw-r--r-- | test/test_dataset.py | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/test/test_dataset.py b/test/test_dataset.py index 734b58cd..4860b9c3 100644 --- a/test/test_dataset.py +++ b/test/test_dataset.py @@ -167,7 +167,36 @@ class DatasetTestCase(unittest.TestCase): self.assertEqual(list(self.graph.objects(self.tarek, None)), []) self.assertEqual(list(g1.objects(self.tarek, None)), [self.pizza]) - + def testIter(self): + """PR 1382: adds __iter__ to Dataset""" + d = Dataset() + uri_a = URIRef("https://example.com/a") + uri_b = URIRef("https://example.com/b") + uri_c = URIRef("https://example.com/c") + uri_d = URIRef("https://example.com/d") + + d.add_graph(URIRef("https://example.com/g1")) + d.add((uri_a, uri_b, uri_c, URIRef("https://example.com/g1"))) + d.add((uri_a, uri_b, uri_c, URIRef( + "https://example.com/g1"))) # pointless addition: duplicates above + + d.add_graph(URIRef("https://example.com/g2")) + d.add((uri_a, uri_b, uri_c, URIRef("https://example.com/g2"))) + d.add((uri_a, uri_b, uri_d, URIRef("https://example.com/g1"))) # new, uri_d + + # traditional iterator + i_trad = 0 + for t in d.quads((None, None, None)): + i_trad += 1 + + # new Dataset.__iter__ iterator + i_new = 0 + for t in d: + i_new += 1 + + self.assertEqual(i_new, i_trad) # both should be 3 + + # dynamically create classes for each registered Store pluginname = None |