From 8e1713d3b6cee242160da58faa7980cea438fe5f Mon Sep 17 00:00:00 2001 From: frankknoll Date: Wed, 2 Feb 2022 00:06:00 +0100 Subject: [PATCH] refactoring --- HowBadIsMyBatch.ipynb | 89 +++++++++++++++++++++---------------------- 1 file changed, 43 insertions(+), 46 deletions(-) diff --git a/HowBadIsMyBatch.ipynb b/HowBadIsMyBatch.ipynb index 7fe38f11659..c68fae9598d 100644 --- a/HowBadIsMyBatch.ipynb +++ b/HowBadIsMyBatch.ipynb @@ -546,57 +546,54 @@ "class DoseAnalysisTest(unittest.TestCase):\n", "\n", " def test_getFirstDoseTable(self):\n", - " # Given\n", - " dataFrame = self.createDataFrame(\n", - " columns = ['DIED', 'L_THREAT', 'DISABLE', 'VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES'],\n", - " data = [ ['Y', np.NaN, np.NaN,\t 'COVID19', 'MODERNA', '016M20A', '2'],\n", - " ['Y', np.NaN, np.NaN, 'COVID19', 'MODERNA', '030L20A', '1'],\n", - " ['Y', 'Y', 'Y', 'COVID19', 'MODERNA', '030L20B', '1']],\n", - " index = [\n", - " \"1048786\",\n", - " \"1048786\",\n", - " \"4711\"],\n", - " dtypes = {'VAX_DOSE_SERIES': \"string\"})\n", - " \n", - " # When\n", - " doseTable = DoseAnalysis.getNthDoseTable(dataFrame, dose = '1')\n", - " \n", - " # Then\n", - " doseTableExpected = pd.Series(\n", - " {\n", - " 'Total reports': 2,\n", - " 'Deaths': 2,\n", - " 'Disabilities': 1,\n", - " 'Life Threatening Illnesses': 1,\n", - " 'Severe reports': (2 + 1 + 1)/2 * 100\n", - " })\n", - " assert_series_equal(doseTable, doseTableExpected)\n", + " self._test_getNthDoseTable(\n", + " dataFrame = self.createDataFrame(\n", + " columns = ['DIED', 'L_THREAT', 'DISABLE', 'VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES'],\n", + " data = [ ['Y', np.NaN, np.NaN,\t 'COVID19', 'MODERNA', '016M20A', '2'],\n", + " ['Y', np.NaN, np.NaN, 'COVID19', 'MODERNA', '030L20A', '1'],\n", + " ['Y', 'Y', 'Y', 'COVID19', 'MODERNA', '030L20B', '1']],\n", + " index = [\n", + " \"1048786\",\n", + " \"1048786\",\n", + " \"4711\"],\n", + " dtypes = {'VAX_DOSE_SERIES': \"string\"}),\n", + " dose = '1',\n", + " doseTableExpected = pd.Series(\n", + " {\n", + " 'Total reports': 2,\n", + " 'Deaths': 2,\n", + " 'Disabilities': 1,\n", + " 'Life Threatening Illnesses': 1,\n", + " 'Severe reports': (2 + 1 + 1)/2 * 100\n", + " }))\n", "\n", " def test_getSecondDoseTable(self):\n", - " # Given\n", - " dataFrame = self.createDataFrame(\n", - " columns = ['DIED', 'L_THREAT', 'DISABLE', 'VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES'],\n", - " data = [ ['Y', np.NaN, np.NaN,\t 'COVID19', 'MODERNA', '016M20A', '2'],\n", - " ['Y', np.NaN, np.NaN, 'COVID19', 'MODERNA', '030L20A', '1'],\n", - " ['Y', 'Y', 'Y', 'COVID19', 'MODERNA', '030L20B', '1']],\n", - " index = [\n", - " \"1048786\",\n", - " \"1048786\",\n", - " \"4711\"],\n", - " dtypes = {'VAX_DOSE_SERIES': \"string\"})\n", - " \n", + " self._test_getNthDoseTable(\n", + " dataFrame = self.createDataFrame(\n", + " columns = ['DIED', 'L_THREAT', 'DISABLE', 'VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES'],\n", + " data = [ ['Y', np.NaN, np.NaN,\t 'COVID19', 'MODERNA', '016M20A', '2'],\n", + " ['Y', np.NaN, np.NaN, 'COVID19', 'MODERNA', '030L20A', '1'],\n", + " ['Y', 'Y', 'Y', 'COVID19', 'MODERNA', '030L20B', '1']],\n", + " index = [\n", + " \"1048786\",\n", + " \"1048786\",\n", + " \"4711\"],\n", + " dtypes = {'VAX_DOSE_SERIES': \"string\"}),\n", + " dose = '2',\n", + " doseTableExpected = pd.Series(\n", + " {\n", + " 'Total reports': 1,\n", + " 'Deaths': 1,\n", + " 'Disabilities': 0,\n", + " 'Life Threatening Illnesses': 0,\n", + " 'Severe reports': (1 + 0 + 0)/1 * 100\n", + " }))\n", + "\n", + " def _test_getNthDoseTable(self, dataFrame, dose, doseTableExpected):\n", " # When\n", - " doseTable = DoseAnalysis.getNthDoseTable(dataFrame, dose = '2')\n", + " doseTable = DoseAnalysis.getNthDoseTable(dataFrame, dose)\n", " \n", " # Then\n", - " doseTableExpected = pd.Series(\n", - " {\n", - " 'Total reports': 1,\n", - " 'Deaths': 1,\n", - " 'Disabilities': 0,\n", - " 'Life Threatening Illnesses': 0,\n", - " 'Severe reports': (1 + 0 + 0)/1 * 100\n", - " })\n", " assert_series_equal(doseTable, doseTableExpected)\n", "\n", " def createDataFrame(self, index, columns, data, dtypes = {}):\n",