From 9256c80e618cbf5e02993bcdb57801276a4b2ff7 Mon Sep 17 00:00:00 2001 From: frankknoll Date: Thu, 9 Feb 2023 15:49:15 +0100 Subject: [PATCH] adding MultiIndexValuesProvider --- src/MultiIndexValuesProvider.py | 13 +++++++++++++ src/MultiIndexValuesProviderTest.py | 18 ++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 src/MultiIndexValuesProvider.py create mode 100644 src/MultiIndexValuesProviderTest.py diff --git a/src/MultiIndexValuesProvider.py b/src/MultiIndexValuesProvider.py new file mode 100644 index 00000000000..f5ddfe636d9 --- /dev/null +++ b/src/MultiIndexValuesProvider.py @@ -0,0 +1,13 @@ +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, []) \ No newline at end of file diff --git a/src/MultiIndexValuesProviderTest.py b/src/MultiIndexValuesProviderTest.py new file mode 100644 index 00000000000..9d08e830b16 --- /dev/null +++ b/src/MultiIndexValuesProviderTest.py @@ -0,0 +1,18 @@ +import unittest +from MultiIndexValuesProvider import MultiIndexValuesProvider +import pandas as pd + +class MultiIndexValuesProviderTest(unittest.TestCase): + + def test_getValues(self): + # Given + multiIndex = pd.MultiIndex.from_tuples( + names = ['VAX_LOT1', 'VAX_LOT2'], + tuples = [['1808982', 'EW0175'], + ['1808982', 'EW0176']]) + + # When + values = MultiIndexValuesProvider.getValues(multiIndex) + + # Then + self.assertEqual(values, {'1808982', 'EW0175', 'EW0176'})