starting CountriesMergerTest
This commit is contained in:
10
src/CountriesMerger.py
Normal file
10
src/CountriesMerger.py
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
import pandas as pd
|
||||||
|
|
||||||
|
|
||||||
|
class CountriesMerger:
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def mergeCountriesSerieses(countriesSeriesA, countriesSeriesB):
|
||||||
|
return (pd
|
||||||
|
.merge(countriesSeriesA, countriesSeriesB, how='left', left_index=True, right_index=True)
|
||||||
|
.apply(lambda countries: sorted(set(countries.dropna())), axis='columns'))
|
||||||
24
src/CountriesMergerTest.py
Normal file
24
src/CountriesMergerTest.py
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
import unittest
|
||||||
|
import pandas as pd
|
||||||
|
from CountriesMerger import CountriesMerger
|
||||||
|
from pandas.testing import assert_series_equal
|
||||||
|
|
||||||
|
|
||||||
|
class CountriesMergerTest(unittest.TestCase):
|
||||||
|
|
||||||
|
def test_mergeCountriesSerieses(self):
|
||||||
|
# Given
|
||||||
|
countriesSeriesA = pd.Series({'NO72A': 'CountryA-1', 'EW096': 'CountryA-2'}, name='countriesSeriesA')
|
||||||
|
countriesSeriesB = pd.Series({'NO72A': 'CountryB-1', 'FS192': 'CountryB-2'}, name='countriesSeriesB')
|
||||||
|
|
||||||
|
# When
|
||||||
|
mergedCountries = CountriesMerger.mergeCountriesSerieses(countriesSeriesA, countriesSeriesB)
|
||||||
|
|
||||||
|
# Then
|
||||||
|
assert_series_equal(
|
||||||
|
mergedCountries,
|
||||||
|
pd.Series(
|
||||||
|
{
|
||||||
|
'NO72A': ['CountryA-1', 'CountryB-1'],
|
||||||
|
'EW096': ['CountryA-2']
|
||||||
|
}))
|
||||||
Reference in New Issue
Block a user