# 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 ##