diff env/lib/python3.9/site-packages/prov/tests/qnames.py @ 0:4f3585e2f14b draft default tip

"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author shellac
date Mon, 22 Mar 2021 18:12:50 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/env/lib/python3.9/site-packages/prov/tests/qnames.py	Mon Mar 22 18:12:50 2021 +0000
@@ -0,0 +1,65 @@
+from __future__ import (absolute_import, division, print_function,
+                        unicode_literals)
+
+from prov.model import ProvDocument, Namespace
+
+
+def document_with_n_bundles_having_default_namespace(n):
+    prov_doc = ProvDocument()
+    prov_doc.add_namespace('ex', 'http://www.example.org/')
+    for i in range(n):
+        x = str(i + 1)
+        bundle = prov_doc.bundle('ex:bundle/' + x)
+        bundle.set_default_namespace('http://www.example.org/default/' + x)
+        bundle.entity('e')
+    return prov_doc
+
+
+class TestQualifiedNamesBase(object):
+    """This is the base class for testing support for qualified names and
+    namespaces. It is not runnable and needs to be included in a subclass of
+    RoundTripTestCase.
+    """
+
+    def test_namespace_inheritance(self):
+        prov_doc = ProvDocument()
+        prov_doc.add_namespace('ex', 'http://www.example.org/')
+        bundle = prov_doc.bundle('ex:bundle')
+        e1 = bundle.entity('ex:e1')
+        self.assertIsNotNone(e1.identifier, "e1's identifier is None!")
+        self.do_tests(prov_doc)
+
+    def test_default_namespace_inheritance(self):
+        prov_doc = ProvDocument()
+        prov_doc.set_default_namespace('http://www.example.org/')
+        bundle = prov_doc.bundle('bundle')
+        e1 = bundle.entity('e1')
+        self.assertIsNotNone(e1.identifier, "e1's identifier is None!")
+        self.do_tests(prov_doc)
+
+    def test_flattening_1_bundle_with_default_namespace(self):
+        prov_doc = document_with_n_bundles_having_default_namespace(1)
+        flattened = prov_doc.flattened()
+        self.do_tests(flattened)
+
+    def test_flattening_2_bundles_with_default_namespace(self):
+        prov_doc = document_with_n_bundles_having_default_namespace(2)
+        flattened = prov_doc.flattened()
+        self.do_tests(flattened)
+
+    def test_flattening_3_bundles_with_default_namespace(self):
+        prov_doc = document_with_n_bundles_having_default_namespace(3)
+        flattened = prov_doc.flattened()
+        self.do_tests(flattened)
+
+    def test_flattening_1_bundle_with_default_namespaces(self):
+        prov_doc = document_with_n_bundles_having_default_namespace(1)
+        prov_doc.set_default_namespace('http://www.example.org/default/0')
+        flattened = prov_doc.flattened()
+        self.do_tests(flattened)
+
+    def test_flattening_2_bundle_with_default_namespaces(self):
+        prov_doc = document_with_n_bundles_having_default_namespace(2)
+        prov_doc.set_default_namespace('http://www.example.org/default/0')
+        flattened = prov_doc.flattened()
+        self.do_tests(flattened)