refactoring

This commit is contained in:
frankknoll
2023-02-12 10:40:58 +01:00
parent a7fdc38ef0
commit 0cebebfe31
2 changed files with 24 additions and 11 deletions

View File

@@ -1,14 +1,12 @@
# FK-TODO: zu langsam
import pandas as pd
class MultiIndexValuesProvider:
@staticmethod
def getValues(multiIndex):
return set(MultiIndexValuesProvider._concat(MultiIndexValuesProvider._tuples2Lists(multiIndex.values)))
@staticmethod
def _tuples2Lists(tuples):
return [list(tuple) for tuple in tuples]
@staticmethod
def _concat(lsts):
return sum(lsts, [])
df = multiIndex.to_frame(index = False)
values = (pd
.concat([df[column] for column in df.columns])
.unique())
return set(values)

View File

@@ -4,7 +4,22 @@ import pandas as pd
class MultiIndexValuesProviderTest(unittest.TestCase):
def test_getValues(self):
def test_getValues_1_level(self):
# Given
value1 = '1808982'
value2 = 'EW0175'
multiIndex = pd.MultiIndex.from_tuples(
names = ['VAX_LOT1'],
tuples = [[value1],
[value2]])
# When
values = MultiIndexValuesProvider.getValues(multiIndex)
# Then
self.assertEqual(values, {value1, value2})
def test_getValues_2_levels(self):
# Given
value1 = '1808982'
value2 = 'EW0175'