From 4cadd18d45732f90ac1774605c23da9049852ab0 Mon Sep 17 00:00:00 2001 From: frankknoll Date: Mon, 23 Jan 2023 08:34:26 +0100 Subject: [PATCH] starting SymptomHistogramByBatchcodeTableFactoryTest --- ...SymptomHistogramByBatchcodeTableFactory.py | 5 +++ ...tomHistogramByBatchcodeTableFactoryTest.py | 32 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 src/SymptomHistogramByBatchcodeTableFactory.py create mode 100644 src/SymptomHistogramByBatchcodeTableFactoryTest.py diff --git a/src/SymptomHistogramByBatchcodeTableFactory.py b/src/SymptomHistogramByBatchcodeTableFactory.py new file mode 100644 index 00000000000..53f3c023a84 --- /dev/null +++ b/src/SymptomHistogramByBatchcodeTableFactory.py @@ -0,0 +1,5 @@ +class SymptomHistogramByBatchcodeTableFactory: + + @staticmethod + def createSymptomHistogramByBatchcodeTable(symptomByBatchcodeTable): + return symptomByBatchcodeTable.groupby(['VAX_LOT1'])['SYMPTOM'].value_counts().to_frame('SYMPTOM_COUNT_BY_VAX_LOT') diff --git a/src/SymptomHistogramByBatchcodeTableFactoryTest.py b/src/SymptomHistogramByBatchcodeTableFactoryTest.py new file mode 100644 index 00000000000..9ab3f3bac43 --- /dev/null +++ b/src/SymptomHistogramByBatchcodeTableFactoryTest.py @@ -0,0 +1,32 @@ +import unittest +from pandas.testing import assert_frame_equal +from SymptomHistogramByBatchcodeTableFactory import SymptomHistogramByBatchcodeTableFactory +from TestHelper import TestHelper +import pandas as pd + +class SymptomHistogramByBatchcodeTableFactoryTest(unittest.TestCase): + + def test_createSymptomHistogramByBatchcodeTable(self): + # Given + symptomByBatchcodeTable = TestHelper.createDataFrame( + columns = ['SYMPTOM'], + data = [ ['Blood pressure orthostatic abnormal'], + ['Blood pressure orthostatic abnormal']], + index = pd.Index( + name = 'VAX_LOT1', + data = ['EW0175', + 'EW0175'])) + + # When + symptomHistogramByBatchcodeTable = SymptomHistogramByBatchcodeTableFactory.createSymptomHistogramByBatchcodeTable(symptomByBatchcodeTable) + + # Then + assert_frame_equal( + symptomHistogramByBatchcodeTable, + TestHelper.createDataFrame( + columns = ['SYMPTOM_COUNT_BY_VAX_LOT'], + data = [ [2]], + index = pd.MultiIndex.from_tuples( + names = ['VAX_LOT1', 'SYMPTOM'], + tuples = [['EW0175', 'Blood pressure orthostatic abnormal']])), + check_dtype = False)