diff planemo/lib/python3.7/site-packages/prov/tests/qnames.py @ 1:56ad4e20f292 draft

"planemo upload commit 6eee67778febed82ddd413c3ca40b3183a3898f1"
author guerler
date Fri, 31 Jul 2020 00:32:28 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/planemo/lib/python3.7/site-packages/prov/tests/qnames.py	Fri Jul 31 00:32:28 2020 -0400
@@ -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)