diff env/lib/python3.7/site-packages/prov/tests/test_extras.py @ 5:9b1c78e6ba9c draft default tip

"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author shellac
date Mon, 01 Jun 2020 08:59:25 -0400
parents 79f47841a781
children
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/prov/tests/test_extras.py	Thu May 14 16:47:39 2020 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,286 +0,0 @@
-from __future__ import (absolute_import, division, print_function,
-                        unicode_literals)
-
-import io
-import unittest
-
-from prov.model import *
-from prov.dot import prov_to_dot
-from prov.serializers import Registry
-from prov.tests.examples import primer_example, primer_example_alternate
-
-
-EX_NS = Namespace('ex', 'http://example.org/')
-EX2_NS = Namespace('ex2', 'http://example2.org/')
-EX_OTHER_NS = Namespace('other', 'http://exceptions.example.org/')
-
-
-def add_label(record):
-    record.add_attributes(
-        [('prov:label', Literal("hello"))]
-    )
-
-
-def add_labels(record):
-    record.add_attributes([
-        ('prov:label', Literal("hello")),
-        ('prov:label', Literal("bye", langtag="en")),
-        ('prov:label', Literal("bonjour", langtag="fr"))
-    ])
-
-
-def add_types(record):
-    record.add_attributes([
-        ('prov:type', 'a'),
-        ('prov:type', 1),
-        ('prov:type', 1.0),
-        ('prov:type', True),
-        ('prov:type', EX_NS['abc']),
-        ('prov:type', datetime.datetime.now()),
-        ('prov:type', Literal('http://boiled-egg.example.com',
-                              datatype=XSD_ANYURI)),
-    ])
-
-
-def add_locations(record):
-    record.add_attributes([
-        ('prov:Location', "Southampton"),
-        ('prov:Location', 1),
-        ('prov:Location', 1.0),
-        ('prov:Location', True),
-        ('prov:Location', EX_NS['london']),
-        ('prov:Location', datetime.datetime.now()),
-        ('prov:Location', EX_NS.uri + "london"),
-        ('prov:Location', Literal(2002, datatype=XSD['gYear'])),
-    ])
-
-
-def add_value(record):
-    record.add_attributes([
-        ('prov:value', EX_NS['avalue'])
-    ])
-
-
-def add_further_attributes(record):
-    record.add_attributes([
-        (EX_NS['tag1'], "hello"),
-        (EX_NS['tag2'], "bye"),
-        (EX2_NS['tag3'], "hi"),
-        (EX_NS['tag1'], "hello\nover\nmore\nlines"),
-    ])
-
-
-def add_further_attributes0(record):
-    record.add_attributes([
-        (EX_NS['tag1'], "hello"),
-        (EX_NS['tag2'], "bye"),
-        (EX_NS['tag2'], Literal("hola", langtag="es")),
-        (EX2_NS['tag3'], "hi"),
-        (EX_NS['tag'], 1),
-        # long on python 2, int on python 3
-        (EX_NS['tag'], six.integer_types[-1](1)),
-        (EX_NS['tag'], Literal(1, datatype=XSD_SHORT)),
-        (EX_NS['tag'], Literal(1, datatype=XSD_DOUBLE)),
-        (EX_NS['tag'], 1.0),
-        (EX_NS['tag'], True),
-        (EX_NS['tag'], EX_NS.uri + "southampton"),
-    ])
-
-    add_further_attributes_with_qnames(record)
-
-
-def add_further_attributes_with_qnames(record):
-    record.add_attributes([
-        (EX_NS['tag'], EX2_NS['newyork']),
-        (EX_NS['tag'], EX_NS['london']),
-    ])
-
-
-class TestExtras(unittest.TestCase):
-    def test_dot(self):
-        # This is naive, since we can't programatically check the output is
-        # correct
-        document = ProvDocument()
-
-        bundle1 = ProvBundle(identifier=EX_NS['bundle1'])
-        bundle1.usage(
-            activity=EX_NS['a1'], entity=EX_NS['e1'], identifier=EX_NS['use1']
-        )
-        bundle1.entity(
-            identifier=EX_NS['e1'], other_attributes={PROV_ROLE: "sausage"}
-        )
-        bundle1.activity(identifier=EX_NS['a1'])
-        document.activity(EX_NS['a2'])
-
-        bundle2 = ProvBundle(identifier=EX_NS['bundle2'])
-        bundle2.usage(
-            activity=EX_NS['aa1'], entity=EX_NS['ee1'],
-            identifier=EX_NS['use2']
-        )
-        bundle2.entity(identifier=EX_NS['ee1'])
-        bundle2.activity(identifier=EX_NS['aa1'])
-
-        document.add_bundle(bundle1)
-        document.add_bundle(bundle2)
-        prov_to_dot(document)
-
-    def test_extra_attributes(self):
-
-        document = ProvDocument()
-
-        inf = document.influence(
-            EX_NS['a2'], EX_NS['a1'], identifier=EX_NS['inf7']
-        )
-        add_labels(inf)
-        add_types(inf)
-        add_further_attributes(inf)
-
-        self.assertEqual(
-            len(inf.attributes),
-            len(list(inf.formal_attributes) + inf.extra_attributes)
-        )
-
-    def test_serialize_to_path(self):
-        document = ProvDocument()
-        document.serialize("output.json")
-        os.remove('output.json')
-
-        document.serialize("http://netloc/outputmyprov/submit.php")
-
-    def test_bundle_no_id(self):
-        document = ProvDocument()
-
-        def test():
-            bundle = ProvBundle()
-            document.add_bundle(bundle)
-
-        self.assertRaises(ProvException, test)
-
-    def test_use_set_time_helpers(self):
-        dt = datetime.datetime.now()
-        document1 = ProvDocument()
-        document1.activity(EX_NS['a8'], startTime=dt, endTime=dt)
-
-        document2 = ProvDocument()
-        a = document2.activity(EX_NS['a8'])
-        a.set_time(startTime=dt, endTime=dt)
-
-        self.assertEqual(document1, document2)
-        self.assertEqual(a.get_startTime(), dt)
-        self.assertEqual(a.get_endTime(), dt)
-
-    def test_bundle_add_garbage(self):
-        document = ProvDocument()
-
-        def test():
-            document.add_bundle(
-                document.entity(EX_NS['entity_trying_to_be_a_bundle'])
-            )
-
-        self.assertRaises(ProvException, test)
-
-        def test():
-            bundle = ProvBundle()
-            document.add_bundle(bundle)
-
-        self.assertRaises(ProvException, test)
-
-    def test_bundle_equality_garbage(self):
-        document = ProvBundle()
-        self.assertNotEqual(document, 1)
-
-    def test_bundle_is_bundle(self):
-        document = ProvBundle()
-        self.assertTrue(document.is_bundle())
-
-    def test_bundle_get_record_by_id(self):
-        document = ProvDocument()
-        self.assertEqual(document.get_record(None), None)
-
-        # record = document.entity(identifier=EX_NS['e1'])
-        # self.assertEqual(document.get_record(EX_NS['e1']), record)
-        #
-        # bundle = document.bundle(EX_NS['b'])
-        # self.assertEqual(bundle.get_record(EX_NS['e1']), record)
-
-    def test_bundle_get_records(self):
-        document = ProvDocument()
-
-        document.entity(identifier=EX_NS['e1'])
-        document.agent(identifier=EX_NS['e1'])
-        self.assertEqual(len(list(document.get_records(ProvAgent))), 1)
-        self.assertEqual(len(document.get_records()), 2)
-
-    def test_bundle_name_clash(self):
-        document = ProvDocument()
-
-        def test():
-            document.bundle(EX_NS['indistinct'])
-            document.bundle(EX_NS['indistinct'])
-
-        self.assertRaises(ProvException, test)
-
-        document = ProvDocument()
-
-        def test():
-            document.bundle(EX_NS['indistinct'])
-            bundle = ProvBundle(identifier=EX_NS['indistinct'])
-            document.add_bundle(bundle)
-
-        self.assertRaises(ProvException, test)
-
-    def test_document_helper_methods(self):
-        document = ProvDocument()
-        self.assertFalse(document.is_bundle())
-        self.assertFalse(document.has_bundles())
-        document.bundle(EX_NS['b'])
-        self.assertTrue(document.has_bundles())
-        self.assertEqual(u'<ProvDocument>', str(document))
-
-    def test_reading_and_writing_to_file_like_objects(self):
-        """
-        Tests reading and writing to and from file like objects.
-        """
-        # Create some random document.
-        document = ProvDocument()
-        document.entity(EX2_NS["test"])
-
-        objects = [io.BytesIO, io.StringIO]
-
-        Registry.load_serializers()
-        formats = Registry.serializers.keys()
-
-        for obj in objects:
-            for format in formats:
-                try:
-                    buf = obj()
-                    document.serialize(destination=buf, format=format)
-                    buf.seek(0, 0)
-                    new_document = ProvDocument.deserialize(source=buf,
-                                                            format=format)
-                    self.assertEqual(document, new_document)
-                except NotImplementedError:
-                    # Some serializers might not implement serialize or
-                    # deserialize method
-                    pass  # and this is fine in the context of this test
-                finally:
-                    buf.close()
-
-    # def test_document_unification(self):
-    #     # TODO: Improve testing of this...
-    #     document = ProvDocument()
-    #     bundle = document.bundle(identifier=EX_NS['b'])
-    #     e1 = bundle.entity(EX_NS['e'])
-    #     e2 = bundle.entity(EX_NS['e'])
-    #     unified = document.unified()
-    #
-    #     self.assertEqual(len(unified._bundles[0]._records), 1)
-
-    def test_primer_alternate(self):
-        g1 = primer_example()
-        g2 = primer_example_alternate()
-        self.assertEqual(g1, g2)
-
-
-if __name__ == '__main__':
-    unittest.main()