aboutsummaryrefslogtreecommitdiffstats
path: root/test/utils/test_node.py
diff options
context:
space:
mode:
authorMatthias Baumgartner <dev@igsor.net>2023-02-08 17:44:00 +0100
committerMatthias Baumgartner <dev@igsor.net>2023-02-08 17:44:00 +0100
commit9c26a5ef759b010d8cf4384b0515cc188b885d81 (patch)
treedfad86871856e8be5807b269e2fe6d2e6971fa9f /test/utils/test_node.py
parent05a841215c82ef40d4679dfc4d2c26572bd4d349 (diff)
downloadbsie-9c26a5ef759b010d8cf4384b0515cc188b885d81.tar.gz
bsie-9c26a5ef759b010d8cf4384b0515cc188b885d81.tar.bz2
bsie-9c26a5ef759b010d8cf4384b0515cc188b885d81.zip
node naming policy
Diffstat (limited to 'test/utils/test_node.py')
-rw-r--r--test/utils/test_node.py54
1 files changed, 43 insertions, 11 deletions
diff --git a/test/utils/test_node.py b/test/utils/test_node.py
index 9feb051..1dcd0ed 100644
--- a/test/utils/test_node.py
+++ b/test/utils/test_node.py
@@ -18,22 +18,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