def test_custom_product_type(self): config = { "type": "scalar", "multiplier": "DoseRate", "multiplicand": "const:100 hour", "product": "MyCustomDose" } mul_op = MultiplicationOperator(**config) self.assertEqual(mul_op.quantity(100, unit=ureg.Sv), PQ.Dose(100))
def test_dict_builtin_dh_multiplication(self): mul_op = MultiplicationOperator(**self.config_dict_builtin) mul_op.invoke(self.dataActivity) res = { "det1": OrderedDict([ (PQ.Isotope(3, 1, 0), StoredData(PQ.Activity(10., 2.), InhalationDose=PQ.Dose(10. * 4.10E-011, -1., ureg.Sv))) ]) } self.assertEqual(self.dataActivity, res)
def test_dict_multiplication_stored_quantity(self): d = { "type": "dict", "multiplier": "Activity", "multiplicand": "inhalationcoeff", "product": "InhalationDose:Dose" } mul_op = MultiplicationOperator(**d) mul_op.invoke(self.dataActivityEinh) res = { "det1": OrderedDict([ (PQ.Isotope(3, 1, 0), StoredData(PQ.Activity(10., 2.), inhalationcoeff=PQ.EInh(10.), InhalationDose=PQ.Dose(100., -1., ureg.Sv))) ]) } self.assertEqual(self.dataActivityEinh, res)
def test_exception_dimension_gt(self): q1 = PQ.Activity(10.) q2 = PQ.Dose(10.) self.assertRaises(IllegalArgumentError, q1.__gt__, q2)
def test_comparison_dimension_check_fail(self): q1 = PQ.Activity(10.) q2 = PQ.Dose(10.) self.assertRaises(IllegalArgumentError, q1._validate_comparison_input, q2)
def test_sub_different_types_pq(self): self.assertRaises(IllegalArgumentError, lambda: PQ.Activity(10.) - PQ.Dose(10.))
def test_multiplication_different_pq_no_unc_builtin(self): product = PQ.Dose(PQ.Activity(10., 0.) * PQ.EInh(10.)) res = PQ.Dose(100., -1.) self.assertEqual(product, res)
def test_multiplication_different_pq_no_unc(self): product = PQ.Dose(PQ.Activity(10., 0.) * PQ.Activity(10., 0.)) res = PQ.Activity(100., 0., ureg.Bq * ureg.Bq) self.assertEqual(product, res)