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