def test_calculate_charge_balance_correctly(self): sampleId = 'nwisaz.01.92600003' expected_balance = 0.27 expected_cations = 10.45 expected_anions = 10.39 dep = Concentration() dep.set('Bicarbonate', 188, None) dep.set('Calcium', 66, None) dep.set('Chloride', 57, None) dep.set('Magnesium', 27, None) dep.set('Nitrate', 0.8, None) dep.set('Potassium', 7.4, None) dep.set('Sodium', 109, None) dep.set('Sulfate', 273, None) rows = self.patient.calculate_charge_balance(dep, sampleId) self.assertEqual(rows[0]['SampleId'], sampleId) self.assertEqual(rows[0]['Param'], 'Charge Balance') self.assertEqual(rows[0]['ResultValue'], expected_balance) self.assertEqual(rows[1]['SampleId'], sampleId) self.assertEqual(rows[1]['Param'], 'Cation Total') self.assertEqual(rows[1]['ResultValue'], expected_cations) self.assertEqual(rows[2]['SampleId'], sampleId) self.assertEqual(rows[2]['Param'], 'Anions Total') self.assertEqual(rows[2]['ResultValue'], expected_anions) expected_balance = -0.02 expected_cations = 4.21 expected_anions = 4.21 dep = Concentration() dep.set('Bicarbonate', 139, None) dep.set('Calcium', 46, None) dep.set('Chloride', 12, None) dep.set('Magnesium', 10, None) dep.set('Nitrate', 0.5, None) dep.set('Sodium plus potassium', 25, None) dep.set('Sulfate', 76, None) rows = self.patient.calculate_charge_balance(dep, sampleId) self.assertEqual(rows[0]['SampleId'], sampleId) self.assertEqual(rows[0]['Param'], 'Charge Balance') self.assertEqual(rows[0]['ResultValue'], expected_balance) self.assertEqual(rows[1]['SampleId'], sampleId) self.assertEqual(rows[1]['Param'], 'Cation Total') self.assertEqual(rows[1]['ResultValue'], expected_cations) self.assertEqual(rows[2]['SampleId'], sampleId) self.assertEqual(rows[2]['Param'], 'Anions Total') self.assertEqual(rows[2]['ResultValue'], expected_anions)
def test_fills_in_other_fields_with_none(self): sampleId = 'nwisaz.01.92600003' dep = Concentration() dep.set('Bicarbonate', 188, None) dep.set('Calcium', 66, None) dep.set('Chloride', 57, None) dep.set('Magnesium', 27, None) dep.set('Nitrate', 0.8, None) dep.set('Potassium', 7.4, None) dep.set('Sodium', 109, None) dep.set('Sulfate', 273, None) rows = self.patient.calculate_charge_balance(dep, sampleId) self.assertEqual(len(rows[0]), 42) self.assertIsNone(rows[0]['AnalysisDate'])
def test_calculate_charge_balance_correctly(self): # sample = nwisaz.01.92600003 expected_balance = 0.27 expected_cations = 10.45 expected_anions = 10.39 dep = Concentration() dep._set('Bicarbonate', 188, None) dep._set('Calcium', 66, None) dep._set('Chloride', 57, None) dep._set('Magnesium', 27, None) dep._set('Nitrate', 0.8, None) dep._set('Potassium', 7.4, None) dep._set('Sodium', 109, None) dep._set('Sulfate', 273, None) balance, cations, anions = self.patient.calculate_charge_balance(dep) self.assertEqual(balance, expected_balance) self.assertEqual(cations, expected_cations) self.assertEqual(anions, expected_anions) # sample = nwisaz.01.92600006 expected_balance = -0.02 expected_cations = 4.21 expected_anions = 4.21 dep = Concentration() dep._set('Bicarbonate', 139, None) dep._set('Calcium', 46, None) dep._set('Chloride', 12, None) dep._set('Magnesium', 10, None) dep._set('Nitrate', 0.5, None) dep._set('Sodium plus potassium', 25, None) dep._set('Sulfate', 76, None) balance, cations, anions = self.patient.calculate_charge_balance(dep) self.assertEqual(balance, expected_balance) self.assertEqual(cations, expected_cations) self.assertEqual(anions, expected_anions)