diff options
author | Matthias Baumgartner <dev@igsor.net> | 2023-02-08 17:44:00 +0100 |
---|---|---|
committer | Matthias Baumgartner <dev@igsor.net> | 2023-02-08 17:44:00 +0100 |
commit | 9c26a5ef759b010d8cf4384b0515cc188b885d81 (patch) | |
tree | dfad86871856e8be5807b269e2fe6d2e6971fa9f /test/utils/test_node.py | |
parent | 05a841215c82ef40d4679dfc4d2c26572bd4d349 (diff) | |
download | bsie-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.py | 54 |
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 |