aboutsummaryrefslogtreecommitdiffstats
path: root/test/matcher/test_nodes.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/matcher/test_nodes.py')
-rw-r--r--test/matcher/test_nodes.py96
1 files changed, 96 insertions, 0 deletions
diff --git a/test/matcher/test_nodes.py b/test/matcher/test_nodes.py
new file mode 100644
index 0000000..d884132
--- /dev/null
+++ b/test/matcher/test_nodes.py
@@ -0,0 +1,96 @@
+
+# standard imports
+import unittest
+
+# bsie imports
+from bsie.utils import bsfs, ns
+
+# objects to test
+from bsie.matcher import nodes
+
+
+## code ##
+
+class TestNode(unittest.TestCase):
+ def test_node(self):
+ # cannot pass additional kwargs
+ self.assertRaises(TypeError, nodes.Node, foo='bar')
+ # may pass uri
+ self.assertIsInstance(nodes.Node(uri='bar'), nodes.Node)
+ self.assertEqual(nodes.Node(uri='bar').uri, 'bar')
+
+ def test_entity(self):
+ # must pass ucid
+ self.assertRaises(TypeError, nodes.Entity)
+ self.assertRaises(TypeError, nodes.Entity, uri='foo')
+ self.assertIsInstance(nodes.Entity(ucid='foo'), nodes.Entity)
+ self.assertIsInstance(nodes.Entity(ucid='bar'), nodes.Entity)
+ # cannot pass additional kwargs
+ self.assertRaises(TypeError, nodes.Entity, ucid='foo', foo='bar')
+ # may pass uri
+ self.assertIsInstance(nodes.Entity(ucid='foo', uri='bar'), nodes.Entity)
+ self.assertEqual(nodes.Entity(ucid='foo', uri='bar').uri, 'bar')
+ # has node_type
+ self.assertEqual(nodes.Entity(ucid='foo').node_type, ns.bsn.Entity)
+
+ def test_face(self):
+ # must pass ucid
+ self.assertRaises(TypeError, nodes.Face)
+ self.assertRaises(TypeError, nodes.Face, uri='foo')
+ self.assertIsInstance(nodes.Face(ucid='foo'), nodes.Face)
+ self.assertIsInstance(nodes.Face(ucid='bar'), nodes.Face)
+ # cannot pass additional kwargs
+ self.assertRaises(TypeError, nodes.Face, ucid='foo', foo='bar')
+ # may pass uri
+ self.assertIsInstance(nodes.Face(ucid='foo', uri='bar'), nodes.Face)
+ self.assertEqual(nodes.Face(ucid='foo', uri='bar').uri, 'bar')
+ # has node_type
+ self.assertEqual(nodes.Face(ucid='foo').node_type, ns.bsn.Face)
+
+ def test_person(self):
+ # cannot pass additional kwargs
+ self.assertRaises(TypeError, nodes.Person, foo='bar')
+ # may pass uri
+ self.assertIsInstance(nodes.Person(uri='bar'), nodes.Person)
+ self.assertEqual(nodes.Person(uri='bar').uri, 'bar')
+ # has node_type
+ self.assertEqual(nodes.Person().node_type, ns.bsn.Person)
+
+ def test_preview(self):
+ # must pass ucid and size
+ self.assertRaises(TypeError, nodes.Preview)
+ self.assertRaises(TypeError, nodes.Preview, ucid='foo')
+ self.assertRaises(TypeError, nodes.Preview, size=123)
+ self.assertRaises(TypeError, nodes.Preview, ucid='foo', uri='foo')
+ self.assertRaises(TypeError, nodes.Preview, size=123, uri='foo')
+ self.assertIsInstance(nodes.Preview(ucid='foo', size=123), nodes.Preview)
+ self.assertIsInstance(nodes.Preview(ucid='bar', size=321), nodes.Preview)
+ # cannot pass additional kwargs
+ self.assertRaises(TypeError, nodes.Preview, ucid='foo', size=123, foo='bar')
+ # may pass uri
+ self.assertIsInstance(nodes.Preview(ucid='foo', size=123, uri='bar'), nodes.Preview)
+ self.assertEqual(nodes.Preview(ucid='foo', size=123, uri='bar').uri, 'bar')
+ # has node_type
+ self.assertEqual(nodes.Preview(ucid='foo', size=123).node_type, ns.bsn.Preview)
+
+ def test_tag(self):
+ # must pass label
+ self.assertRaises(TypeError, nodes.Tag)
+ self.assertRaises(TypeError, nodes.Tag, uri='foo')
+ self.assertIsInstance(nodes.Tag(label='foo'), nodes.Tag)
+ self.assertIsInstance(nodes.Tag(label='bar'), nodes.Tag)
+ # cannot pass additional kwargs
+ self.assertRaises(TypeError, nodes.Tag, label='foo', foo='bar')
+ # may pass uri
+ self.assertIsInstance(nodes.Tag(label='foo', uri='bar'), nodes.Tag)
+ self.assertEqual(nodes.Tag(label='foo', uri='bar').uri, 'bar')
+ # has node_type
+ self.assertEqual(nodes.Tag(label='foo').node_type, ns.bsn.Tag)
+
+
+## main ##
+
+if __name__ == '__main__':
+ unittest.main()
+
+## EOF ##