Files
HowBadIsMyBatch/src/intensivstationen/MedianOfFreeBedsByKreisTableFactoryTest.py
frankknoll 0a588d51ff refactoring
2022-12-14 12:17:31 +01:00

41 lines
1.7 KiB
Python

import unittest
from TestHelper import TestHelper
from pandas.testing import assert_frame_equal
import statistics
import pandas as pd
from intensivstationen.MedianOfFreeBedsByKreisTableFactory import MedianOfFreeBedsByKreisTableFactory
class MedianOfFreeBedsByKreisTableFactoryTest(unittest.TestCase):
def test_createMedianOfFreeBedsByKreisTable(self):
# Given
dataFrame = TestHelper.createDataFrame(
columns = ['date', 'betten_frei', 'betten_belegt', 'Kreis'],
data = [ ['2020-04-24', 40, 38, 'Flensburg, Stadt'],
['2020-04-24', 42, 36, 'Flensburg, Stadt'],
['2020-04-24', 44, 34, 'Flensburg, Stadt'],
['2020-04-24', 9, 10, 'Bamberg']],
index = [
0,
1,
2,
3])
medianOfFreeBedsByKreisTableFactory = MedianOfFreeBedsByKreisTableFactory(dataFrame)
# When
medianOfFreeBedsByKreisTable = medianOfFreeBedsByKreisTableFactory.createMedianOfFreeBedsByKreisTable('Kreis')
# Then
assert_frame_equal(
medianOfFreeBedsByKreisTable,
TestHelper.createDataFrame(
columns = ['median_free_beds_in_percent'],
data = [ [statistics.median([40/(40 + 38) * 100, 42/(42 + 36) * 100, 44/(44 + 34) * 100])],
[9/(9 + 10) * 100]],
index = pd.Index(
name = 'Kreis',
data = [
'Flensburg, Stadt',
'Bamberg'
])),
check_dtype = False)