From 0dc544f88093f563e115347af24532242b7447d4 Mon Sep 17 00:00:00 2001 From: frankknoll Date: Thu, 26 Jan 2023 23:16:57 +0100 Subject: [PATCH] refactoring --- src/DictByBatchcodeTable2JsonConverter.py | 27 ++++++++++--------- src/DictByBatchcodeTable2JsonConverterTest.py | 7 +++-- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/DictByBatchcodeTable2JsonConverter.py b/src/DictByBatchcodeTable2JsonConverter.py index d71644c81b5..d9292736548 100644 --- a/src/DictByBatchcodeTable2JsonConverter.py +++ b/src/DictByBatchcodeTable2JsonConverter.py @@ -4,19 +4,22 @@ import json class DictByBatchcodeTable2JsonConverter: @staticmethod - def convertDictByBatchcodeTable2Json(jsonByBatchcodeTable, batchcode): - # res = jsonByBatchcodeTable.apply(lambda str: json.loads(str['SYMPTOM_COUNT_BY_VAX_LOT']), axis= 'columns') + def convertDictByBatchcodeTable2Json(dictByBatchcodeTable, batchcode): return json.dumps( { "batchcode": batchcode, - "histograms": [ - { - "batchcodes": ["1808982", "EW0175"], - "histogram": {"Blood pressure orthostatic abnormal":5,"Chest discomfort":1} - }, - { - "batchcodes": ["015M20A", "1808982"], - "histogram": {"Chest discomfort":2} - } - ] + "histograms": DictByBatchcodeTable2JsonConverter._getHistograms(dictByBatchcodeTable) }) + + @staticmethod + def _getHistograms(dictByBatchcodeTable): + return ( + dictByBatchcodeTable + .apply( + lambda row: { + "batchcodes": list(row.name), + "histogram": row['SYMPTOM_COUNT_BY_VAX_LOT'] + }, + axis = 'columns') + .to_list() + ) diff --git a/src/DictByBatchcodeTable2JsonConverterTest.py b/src/DictByBatchcodeTable2JsonConverterTest.py index c4507de84c8..4e64c5507d0 100644 --- a/src/DictByBatchcodeTable2JsonConverterTest.py +++ b/src/DictByBatchcodeTable2JsonConverterTest.py @@ -8,7 +8,6 @@ class DictByBatchcodeTable2JsonConverterTest(unittest.TestCase): def test_convertDictByBatchcodeTable2Json(self): # Given - batchcode = '1808982' dictByBatchcodeTable = TestHelper.createDataFrame( columns = ['SYMPTOM_COUNT_BY_VAX_LOT'], data = [ [ @@ -25,11 +24,11 @@ class DictByBatchcodeTable2JsonConverterTest(unittest.TestCase): ], index = pd.MultiIndex.from_tuples( names = ['VAX_LOT1', 'VAX_LOT2'], - tuples = [[batchcode, 'EW0175'], - ['015M20A', batchcode]])) + tuples = [['1808982', 'EW0175'], + ['015M20A', '1808982']])) # When - jsonActual = DictByBatchcodeTable2JsonConverter.convertDictByBatchcodeTable2Json(dictByBatchcodeTable, batchcode) + jsonActual = DictByBatchcodeTable2JsonConverter.convertDictByBatchcodeTable2Json(dictByBatchcodeTable, '1808982') # Then self.assertEqual(