aboutsummaryrefslogtreecommitdiffstats
path: root/test/utils/test_node.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/utils/test_node.py')
-rw-r--r--test/utils/test_node.py79
1 files changed, 53 insertions, 26 deletions
diff --git a/test/utils/test_node.py b/test/utils/test_node.py
index c70f0b8..c0662a1 100644
--- a/test/utils/test_node.py
+++ b/test/utils/test_node.py
@@ -1,10 +1,5 @@
-"""
-Part of the bsie test suite.
-A copy of the license is provided with the project.
-Author: Matthias Baumgartner, 2022
-"""
-# imports
+# standard imports
import unittest
# bsie imports
@@ -18,22 +13,54 @@ from bsie.utils.node import Node
class TestNode(unittest.TestCase):
def test_equality(self):
- uri = bsfs.URI('http://example.com/me/entity#1234')
- node = Node(ns.bsfs.Entity, uri)
- # basic equivalence
- self.assertEqual(node, Node(ns.bsfs.Entity, bsfs.URI('http://example.com/me/entity#1234')))
- self.assertEqual(hash(node), hash(Node(ns.bsfs.Entity, bsfs.URI('http://example.com/me/entity#1234'))))
+ uri1 = bsfs.URI('http://example.com/me/entity#1234')
+ uri2 = bsfs.URI('http://example.com/me/entity#4321')
+ node = Node(ns.bsfs.Entity, uri1)
# equality respects uri
- self.assertNotEqual(node, Node(ns.bsfs.Entity, bsfs.URI('http://example.com/me/entity#4321')))
- self.assertNotEqual(hash(node), hash(Node(ns.bsfs.Entity, bsfs.URI('http://example.com/me/entity#4321'))))
+ self.assertEqual(node, Node(ns.bsfs.Entity, uri1))
+ self.assertEqual(hash(node), hash(Node(ns.bsfs.Entity, uri1)))
+ self.assertNotEqual(node, Node(ns.bsfs.Entity, uri2))
+ self.assertNotEqual(hash(node), hash(Node(ns.bsfs.Entity, uri2)))
+ # equality respects hints
+ self.assertEqual(
+ Node(ns.bsfs.Entity, foo='foo'),
+ Node(ns.bsfs.Entity, foo='foo'))
+ self.assertEqual(
+ hash(Node(ns.bsfs.Entity, foo='foo')),
+ hash(Node(ns.bsfs.Entity, foo='foo')))
+ self.assertNotEqual(
+ Node(ns.bsfs.Entity, foo='foo'),
+ Node(ns.bsfs.Entity, foo='bar'))
+ self.assertNotEqual(
+ hash(Node(ns.bsfs.Entity, foo='foo')),
+ hash(Node(ns.bsfs.Entity, foo='bar')))
+ self.assertNotEqual(
+ Node(ns.bsfs.Entity, foo='bar'),
+ Node(ns.bsfs.Entity, bar='foo'))
+ self.assertNotEqual(
+ hash(Node(ns.bsfs.Entity, foo='bar')),
+ hash(Node(ns.bsfs.Entity, bar='foo')))
+ # hints are irrelevant if uri is set
+ self.assertEqual(
+ Node(ns.bsfs.Entity, uri=uri1, foo='bar'),
+ Node(ns.bsfs.Entity, uri=uri1, bar='foo'))
+ self.assertEqual(
+ hash(Node(ns.bsfs.Entity, uri=uri1, foo='bar')),
+ hash(Node(ns.bsfs.Entity, uri=uri1, bar='foo')))
+ self.assertNotEqual(
+ Node(ns.bsfs.Entity, uri=uri1, foo='bar'),
+ Node(ns.bsfs.Entity, uri=uri2, bar='foo'))
+ self.assertNotEqual(
+ hash(Node(ns.bsfs.Entity, uri=uri1, foo='bar')),
+ hash(Node(ns.bsfs.Entity, uri=uri2, bar='foo')))
# equality respects node_type
- self.assertNotEqual(node, Node(ns.bsfs.Foo, uri))
- self.assertNotEqual(hash(node), hash(Node(ns.bsfs.Foo, uri)))
+ self.assertNotEqual(node, Node(ns.bsfs.Foo, uri1))
+ self.assertNotEqual(hash(node), hash(Node(ns.bsfs.Foo, uri1)))
# not equal to other types
self.assertNotEqual(node, 1234)
self.assertNotEqual(hash(node), hash(1234))
- self.assertNotEqual(node, uri)
- self.assertNotEqual(hash(node), hash(uri))
+ self.assertNotEqual(node, uri1)
+ self.assertNotEqual(hash(node), hash(uri1))
self.assertNotEqual(node, ns.bsfs.Entity)
self.assertNotEqual(hash(node), hash(ns.bsfs.Entity))
class Foo(): pass
@@ -43,17 +70,17 @@ class TestNode(unittest.TestCase):
def test_str(self):
uri = bsfs.URI('http://example.com/me/entity#1234')
# basic string conversion
- node = Node(ns.bsfs.Entity, uri)
- self.assertEqual(str(node), 'Node(http://bsfs.ai/schema/Entity, http://example.com/me/entity#1234)')
- self.assertEqual(repr(node), 'Node(http://bsfs.ai/schema/Entity, http://example.com/me/entity#1234)')
+ node = Node(ns.bsn.Entity, uri)
+ self.assertEqual(str(node), 'Node(https://schema.bsfs.io/ie/Node/Entity, http://example.com/me/entity#1234)')
+ self.assertEqual(repr(node), 'Node(https://schema.bsfs.io/ie/Node/Entity, http://example.com/me/entity#1234)')
# string conversion respects node_type
- node = Node(ns.bsfs.Foo, uri)
- self.assertEqual(str(node), 'Node(http://bsfs.ai/schema/Foo, http://example.com/me/entity#1234)')
- self.assertEqual(repr(node), 'Node(http://bsfs.ai/schema/Foo, http://example.com/me/entity#1234)')
+ node = Node(ns.bsn.Foo, uri)
+ self.assertEqual(str(node), 'Node(https://schema.bsfs.io/ie/Node/Foo, http://example.com/me/entity#1234)')
+ self.assertEqual(repr(node), 'Node(https://schema.bsfs.io/ie/Node/Foo, http://example.com/me/entity#1234)')
# string conversion respects uri
- node = Node(ns.bsfs.Entity, bsfs.URI('http://example.com/me/entity#4321'))
- self.assertEqual(str(node), 'Node(http://bsfs.ai/schema/Entity, http://example.com/me/entity#4321)')
- self.assertEqual(repr(node), 'Node(http://bsfs.ai/schema/Entity, http://example.com/me/entity#4321)')
+ node = Node(ns.bsn.Entity, bsfs.URI('http://example.com/me/entity#4321'))
+ self.assertEqual(str(node), 'Node(https://schema.bsfs.io/ie/Node/Entity, http://example.com/me/entity#4321)')
+ self.assertEqual(repr(node), 'Node(https://schema.bsfs.io/ie/Node/Entity, http://example.com/me/entity#4321)')