class TestPhotonEmissionMapDetectorXMLHandler(unittest.TestCase): def setUp(self): unittest.TestCase.setUp(self) self.h = PhotonEmissionMapDetectorXMLHandler() self.obj = PhotonEmissionMapDetector((radians(35), radians(45)), (0, radians(360.0)), 5, 6, 7) etree.register_namespace("mc", "http://pymontecarlo.sf.net") source = BytesIO( b'<mc:photonEmissionMapDetector xmlns:mc="http://pymontecarlo.sf.net"><elevation lower="0.6108652381980153" upper="0.7853981633974483" /><azimuth lower="0.0" upper="6.283185307179586" /><xbins>5</xbins><ybins>6</ybins><zbins>7</zbins></mc:photonEmissionMapDetector>' ) self.element = etree.parse(source).getroot() def tearDown(self): unittest.TestCase.tearDown(self) def testcan_parse(self): self.assertTrue(self.h.can_parse(self.element)) def testparse(self): obj = self.h.parse(self.element) self.assertAlmostEqual(radians(35), obj.elevation_rad[0], 4) self.assertAlmostEqual(radians(45), obj.elevation_rad[1], 4) self.assertAlmostEqual(0, obj.azimuth_rad[0], 4) self.assertAlmostEqual(radians(360.0), obj.azimuth_rad[1], 4) self.assertEqual(5, obj.xbins) self.assertEqual(6, obj.ybins) self.assertEqual(7, obj.zbins) def testcan_convert(self): self.assertTrue(self.h.can_convert(self.obj)) def testconvert(self): element = self.h.convert(self.obj) subelement = element.find("elevation") self.assertAlmostEqual(radians(35), float(subelement.get("lower")), 4) self.assertAlmostEqual(radians(45), float(subelement.get("upper")), 4) subelement = element.find("azimuth") self.assertAlmostEqual(0, float(subelement.get("lower")), 4) self.assertAlmostEqual(radians(360.0), float(subelement.get("upper")), 4) subelement = element.find("xbins") self.assertEqual(5, int(subelement.text)) subelement = element.find("ybins") self.assertEqual(6, int(subelement.text)) subelement = element.find("zbins") self.assertEqual(7, int(subelement.text))
def setUp(self): unittest.TestCase.setUp(self) self.h = PhotonEmissionMapDetectorXMLHandler() self.obj = PhotonEmissionMapDetector((radians(35), radians(45)), (0, radians(360.0)), 5, 6, 7) etree.register_namespace("mc", "http://pymontecarlo.sf.net") source = BytesIO( b'<mc:photonEmissionMapDetector xmlns:mc="http://pymontecarlo.sf.net"><elevation lower="0.6108652381980153" upper="0.7853981633974483" /><azimuth lower="0.0" upper="6.283185307179586" /><xbins>5</xbins><ybins>6</ybins><zbins>7</zbins></mc:photonEmissionMapDetector>' ) self.element = etree.parse(source).getroot()