def setUp(self): unittest.TestCase.setUp(self) self.h = RegisteredModelXMLHandler() self.obj1 = MTYPE.m1 self.obj2 = MTYPE.m2 etree.register_namespace('mc', 'http://pymontecarlo.sf.net') source = BytesIO(b'<mc:model xmlns:mc="http://pymontecarlo.sf.net" name="name1" type="type1" />') self.element1 = etree.parse(source).getroot() source = BytesIO(b'<mc:model xmlns:mc="http://pymontecarlo.sf.net" name="name2" type="type1" />') self.element2 = etree.parse(source).getroot()
class TestRegisteredModelXMLHandler(unittest.TestCase): def setUp(self): unittest.TestCase.setUp(self) self.h = RegisteredModelXMLHandler() self.obj1 = MTYPE.m1 self.obj2 = MTYPE.m2 etree.register_namespace('mc', 'http://pymontecarlo.sf.net') source = BytesIO(b'<mc:model xmlns:mc="http://pymontecarlo.sf.net" name="name1" type="type1" />') self.element1 = etree.parse(source).getroot() source = BytesIO(b'<mc:model xmlns:mc="http://pymontecarlo.sf.net" name="name2" type="type1" />') self.element2 = etree.parse(source).getroot() def tearDown(self): unittest.TestCase.tearDown(self) def testcan_parse(self): self.assertTrue(self.h.can_parse(self.element1)) self.assertTrue(self.h.can_parse(self.element2)) def testparse(self): # Model 1 obj = self.h.parse(self.element1) self.assertEqual('name1', obj.name) self.assertEqual('ref1', obj.reference) self.assertEqual(MTYPE, obj.type) # Model 2 obj = self.h.parse(self.element2) self.assertEqual('name2', obj.name) self.assertEqual('', obj.reference) self.assertEqual(MTYPE, obj.type) def testcan_convert(self): self.assertTrue(self.h.can_convert(self.obj1)) self.assertTrue(self.h.can_convert(self.obj2)) def testconvert(self): # Model 1 element = self.h.convert(self.obj1) self.assertEqual('name1', element.get('name')) self.assertEqual(str(MTYPE), element.get('type')) # Model 2 element = self.h.convert(self.obj2) self.assertEqual('name2', element.get('name')) self.assertEqual(str(MTYPE), element.get('type'))