refactoring

This commit is contained in:
frankknoll
2023-01-26 23:16:57 +01:00
parent a87af43c58
commit 0dc544f880
2 changed files with 18 additions and 16 deletions

View File

@@ -4,19 +4,22 @@ import json
class DictByBatchcodeTable2JsonConverter: class DictByBatchcodeTable2JsonConverter:
@staticmethod @staticmethod
def convertDictByBatchcodeTable2Json(jsonByBatchcodeTable, batchcode): def convertDictByBatchcodeTable2Json(dictByBatchcodeTable, batchcode):
# res = jsonByBatchcodeTable.apply(lambda str: json.loads(str['SYMPTOM_COUNT_BY_VAX_LOT']), axis= 'columns')
return json.dumps( return json.dumps(
{ {
"batchcode": batchcode, "batchcode": batchcode,
"histograms": [ "histograms": DictByBatchcodeTable2JsonConverter._getHistograms(dictByBatchcodeTable)
{
"batchcodes": ["1808982", "EW0175"],
"histogram": {"Blood pressure orthostatic abnormal":5,"Chest discomfort":1}
},
{
"batchcodes": ["015M20A", "1808982"],
"histogram": {"Chest discomfort":2}
}
]
}) })
@staticmethod
def _getHistograms(dictByBatchcodeTable):
return (
dictByBatchcodeTable
.apply(
lambda row: {
"batchcodes": list(row.name),
"histogram": row['SYMPTOM_COUNT_BY_VAX_LOT']
},
axis = 'columns')
.to_list()
)

View File

@@ -8,7 +8,6 @@ class DictByBatchcodeTable2JsonConverterTest(unittest.TestCase):
def test_convertDictByBatchcodeTable2Json(self): def test_convertDictByBatchcodeTable2Json(self):
# Given # Given
batchcode = '1808982'
dictByBatchcodeTable = TestHelper.createDataFrame( dictByBatchcodeTable = TestHelper.createDataFrame(
columns = ['SYMPTOM_COUNT_BY_VAX_LOT'], columns = ['SYMPTOM_COUNT_BY_VAX_LOT'],
data = [ [ data = [ [
@@ -25,11 +24,11 @@ class DictByBatchcodeTable2JsonConverterTest(unittest.TestCase):
], ],
index = pd.MultiIndex.from_tuples( index = pd.MultiIndex.from_tuples(
names = ['VAX_LOT1', 'VAX_LOT2'], names = ['VAX_LOT1', 'VAX_LOT2'],
tuples = [[batchcode, 'EW0175'], tuples = [['1808982', 'EW0175'],
['015M20A', batchcode]])) ['015M20A', '1808982']]))
# When # When
jsonActual = DictByBatchcodeTable2JsonConverter.convertDictByBatchcodeTable2Json(dictByBatchcodeTable, batchcode) jsonActual = DictByBatchcodeTable2JsonConverter.convertDictByBatchcodeTable2Json(dictByBatchcodeTable, '1808982')
# Then # Then
self.assertEqual( self.assertEqual(