diff options
Diffstat (limited to 'test/matcher/test_nodes.py')
-rw-r--r-- | test/matcher/test_nodes.py | 96 |
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 ## |