refining HistogramTable2DictTableConverterTest

This commit is contained in:
frankknoll
2023-02-08 16:33:04 +01:00
parent 197321b2da
commit 16e6c2a729
2 changed files with 13 additions and 11 deletions

View File

@@ -3,11 +3,11 @@ class HistogramTable2DictTableConverter:
@staticmethod @staticmethod
def convertHistogramTable2DictTable(symptomHistogramByBatchcodeTable): def convertHistogramTable2DictTable(symptomHistogramByBatchcodeTable):
vax_lot_columns = symptomHistogramByBatchcodeTable.index.names.difference(['SYMPTOM']) vax_lot_columns = symptomHistogramByBatchcodeTable.index.names.difference(['SYMPTOM'])
return ( return (symptomHistogramByBatchcodeTable
symptomHistogramByBatchcodeTable .groupby(vax_lot_columns + ['COUNTRY'])
.groupby(vax_lot_columns)
.agg(lambda histogram_with_vax_lots: HistogramTable2DictTableConverter._histogram_to_json(histogram_with_vax_lots, vax_lot_columns)) .agg(lambda histogram_with_vax_lots: HistogramTable2DictTableConverter._histogram_to_json(histogram_with_vax_lots, vax_lot_columns))
) .reset_index(level = 'COUNTRY')
[['SYMPTOM_COUNT_BY_VAX_LOT', 'COUNTRY']])
@staticmethod @staticmethod
def _histogram_to_json(histogram_with_vax_lots, vax_lot_columns): def _histogram_to_json(histogram_with_vax_lots, vax_lot_columns):

View File

@@ -9,10 +9,10 @@ class HistogramTable2DictTableConverterTest(unittest.TestCase):
def test_convertHistogramTable2DictTable(self): def test_convertHistogramTable2DictTable(self):
# Given # Given
histogramTable = TestHelper.createDataFrame( histogramTable = TestHelper.createDataFrame(
columns = ['SYMPTOM_COUNT_BY_VAX_LOT'], columns = ['SYMPTOM_COUNT_BY_VAX_LOT', 'COUNTRY'],
data = [ [5], data = [ [5, 'Germany'],
[1], [1, 'Germany'],
[2]], [2, 'Russian Federation']],
index = pd.MultiIndex.from_tuples( index = pd.MultiIndex.from_tuples(
names = ['VAX_LOT1', 'SYMPTOM'], names = ['VAX_LOT1', 'SYMPTOM'],
tuples = [['1808982', 'Blood pressure orthostatic abnormal'], tuples = [['1808982', 'Blood pressure orthostatic abnormal'],
@@ -26,17 +26,19 @@ class HistogramTable2DictTableConverterTest(unittest.TestCase):
assert_frame_equal( assert_frame_equal(
dictTable, dictTable,
TestHelper.createDataFrame( TestHelper.createDataFrame(
columns = ['SYMPTOM_COUNT_BY_VAX_LOT'], columns = ['SYMPTOM_COUNT_BY_VAX_LOT', 'COUNTRY'],
data = [ [ data = [ [
{ {
"Blood pressure orthostatic abnormal": 5, "Blood pressure orthostatic abnormal": 5,
"Chest discomfort": 1 "Chest discomfort": 1
} },
'Germany'
], ],
[ [
{ {
"Chest discomfort": 2 "Chest discomfort": 2
} },
'Russian Federation'
]], ]],
index = pd.Index( index = pd.Index(
name = 'VAX_LOT1', name = 'VAX_LOT1',