From f9a62a7b4498bef6a019e6513ccde7c7a3118420 Mon Sep 17 00:00:00 2001 From: frankknoll Date: Tue, 30 May 2023 23:20:49 +0200 Subject: [PATCH] refining CountriesColumnMergerTest --- src/CountriesColumnMerger.py | 5 +++ src/CountriesColumnMergerTest.py | 53 ++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/src/CountriesColumnMerger.py b/src/CountriesColumnMerger.py index 748fa2a7182..6cdd1a8c805 100644 --- a/src/CountriesColumnMerger.py +++ b/src/CountriesColumnMerger.py @@ -8,3 +8,8 @@ class CountriesColumnMerger: dst[COUNTRIES] = CountriesMerger.mergeSrcIntoDst( dst = dst[COUNTRIES], src = src[COUNTRIES]) + + @staticmethod + def mergeCountriesColumnOfSrcsIntoCountriesColumnOfDst(srcs, dst): + for src in srcs: + CountriesColumnMerger.mergeCountriesColumnOfSrcIntoCountriesColumnOfDst(src = src, dst = dst) diff --git a/src/CountriesColumnMergerTest.py b/src/CountriesColumnMergerTest.py index 8f13d6b3b46..58b42e8148c 100644 --- a/src/CountriesColumnMergerTest.py +++ b/src/CountriesColumnMergerTest.py @@ -51,3 +51,56 @@ class CountriesColumnMergerTest(unittest.TestCase): ], name = 'VAX_LOT')), check_dtype = True) + + def test_mergeCountriesColumnOfSrcsIntoCountriesColumnOfDst(self): + # Given + dst = TestHelper.createDataFrame( + columns = ['Countries'], + data = [ [[]], + [['France', 'United Kingdom']], + [['France']]], + index = pd.Index( + [ + '016M20A', + '030L20B', + '030L20A' + ], + name = 'VAX_LOT')) + + src1 = TestHelper.createDataFrame( + columns = ['Countries'], + data = [ [['Germany1']]], + index = pd.Index( + [ + '030L20B' + ], + name = 'VAX_LOT')) + + src2 = TestHelper.createDataFrame( + columns = ['Countries'], + data = [ [['Germany2']]], + index = pd.Index( + [ + '030L20B' + ], + name = 'VAX_LOT')) + + # When + CountriesColumnMerger.mergeCountriesColumnOfSrcsIntoCountriesColumnOfDst(dst = dst, srcs = [src1, src2]) + + # Then + assert_frame_equal( + dst, + TestHelper.createDataFrame( + columns = ['Countries'], + data = [ [[]], + [['France', 'Germany1', 'Germany2', 'United Kingdom']], + [['France']]], + index = pd.Index( + [ + '016M20A', + '030L20B', + '030L20A' + ], + name = 'VAX_LOT')), + check_dtype = True)