Ejemplo n.º 1
0
class TestMeasurement(TestCase):
    def setUp(self):
        TestCase.setUp(self)

        baseops = Options()
        baseops.detectors["xray"] = PhotonIntensityDetector((0, 1), (0, 3))

        self.m = Measurement(baseops)
        self.m.add_kratio(Ka(29), 0.2470, 0.004)

    def tearDown(self):
        TestCase.tearDown(self)

    def testskeleton(self):
        self.assertTrue(True)

    def testadd_kratio(self):
        standard = Material("U90", {92: 0.9, 49: 0.1})
        self.m.add_kratio(La(92), 0.5, standard=standard)

        self.assertTrue(self.m.has_kratio(La(92)))
        self.assertAlmostEqual(0.5, self.m.get_kratios()[1], 4)

        self.m.add_kratio(Ka(13), 0.2, unc=0.125)

        self.assertTrue(self.m.has_kratio(Ka(13)))
        self.assertAlmostEqual(0.2, self.m.get_kratios()[0], 4)

        self.assertRaises(ValueError, self.m.add_kratio, La(92), 0.1)
        self.assertRaises(ValueError, self.m.add_kratio, Ka(14), -0.1)

    def testremove_kratio(self):
        self.m.remove_kratio(Ka(29))
        self.assertFalse(self.m.has_kratio(Ka(29)))
        self.assertEqual(0, len(self.m.get_kratios()))

    def testclear_kratios(self):
        self.m.clear_kratios()
        self.assertEqual(0, len(self.m.get_kratios()))

    def testhas_kratio(self):
        self.assertTrue(self.m.has_kratio(Ka(29)))
        self.assertFalse(self.m.has_kratio(La(29)))

    def testget_kratios(self):
        kratios = self.m.get_kratios()

        self.assertEqual(1, len(kratios))
        self.assertAlmostEqual(0.247, kratios[0], 4)

    def testfrom_xml(self):
        element = self.m.to_xml()
        m = Measurement.from_xml(element)

        kratios = m.get_kratios()
        self.assertEqual(1, len(kratios))
        self.assertAlmostEqual(0.247, kratios[0], 4)

    def testto_xml(self):
        element = self.m.to_xml()
        self.assertEqual(1, len(element.findall("kratio")))

    def testcreate_standard_options(self):
        list_options = self.m.create_standard_options("std")
        self.assertEqual(1, len(list_options))

    def testextract_standard_intensities(self):
        list_options = self.m.create_standard_options("std")
        stdoptions = list_options[0]

        intensities = create_intensity_dict(Ka(29), et=(8.0, 0.0))
        results = {"xray": PhotonIntensityResult(intensities)}
        stdresults = Results(stdoptions, results)

        dict_results = {"std+Cu Ka": stdresults}
        stdintensities = self.m.extract_standard_intensities("std", dict_results)

        self.assertEqual(1, len(stdintensities))
        self.assertAlmostEqual(8.0, stdintensities[0], 4)

    def testcreate_unknown_options(self):
        unkgeometry = Substrate(pure(49))
        options = self.m.create_unknown_options("meas", unkgeometry)
        self.assertEqual("meas", options.name)

    def testextract_unknown_intensities(self):
        unkgeometry = Substrate(pure(49))
        options = self.m.create_unknown_options("meas", unkgeometry)

        intensities = create_intensity_dict(Ka(29), et=(4.0, 0.0))
        results = Results(options, {"xray": PhotonIntensityResult(intensities)})

        unkintensities = self.m.extract_unknown_intensities(results)

        self.assertEqual(1, len(unkintensities))
        self.assertAlmostEqual(4.0, unkintensities[0], 4)
Ejemplo n.º 2
0
class TestMeasurement(TestCase):

    def setUp(self):
        TestCase.setUp(self)

        baseops = Options()
        baseops.detectors['xray'] = PhotonIntensityDetector((0, 1), (0, 3))

        self.m = Measurement(baseops)
        self.m.add_kratio(Ka(29), 0.2470, 0.004)

    def tearDown(self):
        TestCase.tearDown(self)

    def testskeleton(self):
        self.assertTrue(True)

    def testadd_kratio(self):
        standard = Material('U90', {92: 0.9, 49: 0.1})
        self.m.add_kratio(La(92), 0.5, standard=standard)

        self.assertTrue(self.m.has_kratio(La(92)))
        self.assertAlmostEqual(0.5, self.m.get_kratios()[1], 4)

        self.m.add_kratio(Ka(13), 0.2, unc=0.125)

        self.assertTrue(self.m.has_kratio(Ka(13)))
        self.assertAlmostEqual(0.2, self.m.get_kratios()[0], 4)

        self.assertRaises(ValueError, self.m.add_kratio, La(92), 0.1)
        self.assertRaises(ValueError, self.m.add_kratio, Ka(14), -0.1)

    def testremove_kratio(self):
        self.m.remove_kratio(Ka(29))
        self.assertFalse(self.m.has_kratio(Ka(29)))
        self.assertEqual(0, len(self.m.get_kratios()))

    def testclear_kratios(self):
        self.m.clear_kratios()
        self.assertEqual(0, len(self.m.get_kratios()))

    def testhas_kratio(self):
        self.assertTrue(self.m.has_kratio(Ka(29)))
        self.assertFalse(self.m.has_kratio(La(29)))

    def testget_kratios(self):
        kratios = self.m.get_kratios()

        self.assertEqual(1, len(kratios))
        self.assertAlmostEqual(0.247, kratios[0], 4)

    def testfrom_xml(self):
        element = self.m.to_xml()
        m = Measurement.from_xml(element)

        kratios = m.get_kratios()
        self.assertEqual(1, len(kratios))
        self.assertAlmostEqual(0.247, kratios[0], 4)

    def testto_xml(self):
        element = self.m.to_xml()
        self.assertEqual(1, len(element.findall('kratio')))

    def testcreate_standard_options(self):
        list_options = self.m.create_standard_options('std')
        self.assertEqual(1, len(list_options))

    def testextract_standard_intensities(self):
        list_options = self.m.create_standard_options('std')
        stdoptions = list_options[0]

        intensities = create_intensity_dict(Ka(29), et=(8.0, 0.0))
        results = {'xray': PhotonIntensityResult(intensities)}
        stdresults = Results(stdoptions, results)

        dict_results = {'std+Cu Ka': stdresults}
        stdintensities = self.m.extract_standard_intensities('std', dict_results)

        self.assertEqual(1, len(stdintensities))
        self.assertAlmostEqual(8.0, stdintensities[0], 4)

    def testcreate_unknown_options(self):
        unkgeometry = Substrate(pure(49))
        options = self.m.create_unknown_options('meas', unkgeometry)
        self.assertEqual('meas', options.name)

    def testextract_unknown_intensities(self):
        unkgeometry = Substrate(pure(49))
        options = self.m.create_unknown_options('meas', unkgeometry)

        intensities = create_intensity_dict(Ka(29), et=(4.0, 0.0))
        results = Results(options, {'xray': PhotonIntensityResult(intensities)})

        unkintensities = self.m.extract_unknown_intensities(results)

        self.assertEqual(1, len(unkintensities))
        self.assertAlmostEqual(4.0, unkintensities[0], 4)