refactoring

This commit is contained in:
frankknoll
2022-02-02 00:06:00 +01:00
parent 0317d25a90
commit 8e1713d3b6

View File

@@ -546,57 +546,54 @@
"class DoseAnalysisTest(unittest.TestCase):\n", "class DoseAnalysisTest(unittest.TestCase):\n",
"\n", "\n",
" def test_getFirstDoseTable(self):\n", " def test_getFirstDoseTable(self):\n",
" # Given\n", " self._test_getNthDoseTable(\n",
" dataFrame = self.createDataFrame(\n", " dataFrame = self.createDataFrame(\n",
" columns = ['DIED', 'L_THREAT', 'DISABLE', 'VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES'],\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", " data = [ ['Y', np.NaN, np.NaN,\t 'COVID19', 'MODERNA', '016M20A', '2'],\n",
" ['Y', np.NaN, np.NaN, 'COVID19', 'MODERNA', '030L20A', '1'],\n", " ['Y', np.NaN, np.NaN, 'COVID19', 'MODERNA', '030L20A', '1'],\n",
" ['Y', 'Y', 'Y', 'COVID19', 'MODERNA', '030L20B', '1']],\n", " ['Y', 'Y', 'Y', 'COVID19', 'MODERNA', '030L20B', '1']],\n",
" index = [\n", " index = [\n",
" \"1048786\",\n", " \"1048786\",\n",
" \"1048786\",\n", " \"1048786\",\n",
" \"4711\"],\n", " \"4711\"],\n",
" dtypes = {'VAX_DOSE_SERIES': \"string\"})\n", " dtypes = {'VAX_DOSE_SERIES': \"string\"}),\n",
" \n", " dose = '1',\n",
" # When\n", " doseTableExpected = pd.Series(\n",
" doseTable = DoseAnalysis.getNthDoseTable(dataFrame, dose = '1')\n", " {\n",
" \n", " 'Total reports': 2,\n",
" # Then\n", " 'Deaths': 2,\n",
" doseTableExpected = pd.Series(\n", " 'Disabilities': 1,\n",
" {\n", " 'Life Threatening Illnesses': 1,\n",
" 'Total reports': 2,\n", " 'Severe reports': (2 + 1 + 1)/2 * 100\n",
" 'Deaths': 2,\n", " }))\n",
" 'Disabilities': 1,\n",
" 'Life Threatening Illnesses': 1,\n",
" 'Severe reports': (2 + 1 + 1)/2 * 100\n",
" })\n",
" assert_series_equal(doseTable, doseTableExpected)\n",
"\n", "\n",
" def test_getSecondDoseTable(self):\n", " def test_getSecondDoseTable(self):\n",
" # Given\n", " self._test_getNthDoseTable(\n",
" dataFrame = self.createDataFrame(\n", " dataFrame = self.createDataFrame(\n",
" columns = ['DIED', 'L_THREAT', 'DISABLE', 'VAX_TYPE', 'VAX_MANU', 'VAX_LOT', 'VAX_DOSE_SERIES'],\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", " data = [ ['Y', np.NaN, np.NaN,\t 'COVID19', 'MODERNA', '016M20A', '2'],\n",
" ['Y', np.NaN, np.NaN, 'COVID19', 'MODERNA', '030L20A', '1'],\n", " ['Y', np.NaN, np.NaN, 'COVID19', 'MODERNA', '030L20A', '1'],\n",
" ['Y', 'Y', 'Y', 'COVID19', 'MODERNA', '030L20B', '1']],\n", " ['Y', 'Y', 'Y', 'COVID19', 'MODERNA', '030L20B', '1']],\n",
" index = [\n", " index = [\n",
" \"1048786\",\n", " \"1048786\",\n",
" \"1048786\",\n", " \"1048786\",\n",
" \"4711\"],\n", " \"4711\"],\n",
" dtypes = {'VAX_DOSE_SERIES': \"string\"})\n", " dtypes = {'VAX_DOSE_SERIES': \"string\"}),\n",
" \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", " # When\n",
" doseTable = DoseAnalysis.getNthDoseTable(dataFrame, dose = '2')\n", " doseTable = DoseAnalysis.getNthDoseTable(dataFrame, dose)\n",
" \n", " \n",
" # Then\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", " assert_series_equal(doseTable, doseTableExpected)\n",
"\n", "\n",
" def createDataFrame(self, index, columns, data, dtypes = {}):\n", " def createDataFrame(self, index, columns, data, dtypes = {}):\n",