refactoring
This commit is contained in:
@@ -1,14 +1,12 @@
|
|||||||
# FK-TODO: zu langsam
|
import pandas as pd
|
||||||
|
|
||||||
|
|
||||||
class MultiIndexValuesProvider:
|
class MultiIndexValuesProvider:
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def getValues(multiIndex):
|
def getValues(multiIndex):
|
||||||
return set(MultiIndexValuesProvider._concat(MultiIndexValuesProvider._tuples2Lists(multiIndex.values)))
|
df = multiIndex.to_frame(index = False)
|
||||||
|
values = (pd
|
||||||
@staticmethod
|
.concat([df[column] for column in df.columns])
|
||||||
def _tuples2Lists(tuples):
|
.unique())
|
||||||
return [list(tuple) for tuple in tuples]
|
return set(values)
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def _concat(lsts):
|
|
||||||
return sum(lsts, [])
|
|
||||||
|
|||||||
@@ -4,7 +4,22 @@ import pandas as pd
|
|||||||
|
|
||||||
class MultiIndexValuesProviderTest(unittest.TestCase):
|
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
|
# Given
|
||||||
value1 = '1808982'
|
value1 = '1808982'
|
||||||
value2 = 'EW0175'
|
value2 = 'EW0175'
|
||||||
|
|||||||
Reference in New Issue
Block a user