diff --git a/template.m b/template.m index da5faa3a5edb224000a1bcb260cb0063f8c2bbf3..f3e862a85a3c506aedfb41de1edab031f4faccf6 100644 --- a/template.m +++ b/template.m @@ -23,9 +23,14 @@ df_cart = fetch_series_by_api_link("https://api.db.nomics.world/v22/series?serie df_multi_freq = fetch_series('series_ids', ["BEA/NIUnderlyingDetail-U001BC/S315-A",... "BEA/NIUnderlyingDetail-U001BC/S315-Q",... "BEA/NIUnderlyingDetail-U001BC/S315-M"]); - -%% TO BE IMPLEMENTED -% fetch one series and apply interpolation filter %NOT IMPLEMENTED + +% fetch one series and apply interpolation filter +filters_ = '[{"code": "interpolate", "parameters": {"frequency": "monthly", "method": "spline"}}]'; df_filter = fetch_series('series_ids', "AMECO/ZUTN/EA19.1.0.0.0.ZUTN",... - 'dbnomics_filters', '[{"code": "interpolate", "parameters": {"frequency": "monthly", "method": "spline"}}]'); + 'dbnomics_filters', filters_); +% fetch multiple series and apply interpolation filter +df_filters = fetch_series('series_ids', ["AMECO/ZUTN/EA19.1.0.0.0.ZUTN", "AMECO/ZUTN/DNK.1.0.0.0.ZUTN"],... + 'dbnomics_filters', filters_); + + \ No newline at end of file diff --git a/tests/run_all_tests_matlab.m b/tests/run_all_tests_matlab.m index c1638622cf58f0477bec914ee847409419e1179d..3b2dbbce0ddad72b0b1c9486f5a403b6a3d871a0 100644 --- a/tests/run_all_tests_matlab.m +++ b/tests/run_all_tests_matlab.m @@ -11,6 +11,7 @@ r = [r; run_this_test('test_fetch_series_of_dataset')]; r = [r; run_this_test('test_fetch_series_by_api_link')]; r = [r; run_this_test('test_fetch_series_with_na_values')]; r = [r; run_this_test('test_fetch_series_with_max_nb_series')]; +r = [r; run_this_test('test_fetch_series_with_filter_on_one_series')]; print_results(r); diff --git a/tests/test_fetch_series_with_filter_on_one_series.m b/tests/test_fetch_series_with_filter_on_one_series.m new file mode 100644 index 0000000000000000000000000000000000000000..27dea0116bd15c2ce5166ac53a6ee0e1601a971f --- /dev/null +++ b/tests/test_fetch_series_with_filter_on_one_series.m @@ -0,0 +1,24 @@ +function test_fetch_series_with_filter_on_one_series() +filters_ = '[{"code": "interpolate", "parameters": {"frequency": "monthly", "method": "spline"}}]'; +df = fetch_series('provider_code', "AMECO", 'dataset_code', "ZUTN", 'series_code', "DEU.1.0.0.0.ZUTN", 'dbnomics_filters', filters_); + +idx = find(strcmp('provider_code',df(1,:))); +provider_codes = unique(df(2:end,idx)); +assert(length(provider_codes)==1); +assert(provider_codes{1} == "AMECO"); + +idx = find(strcmp('dataset_code',df(1,:))); +dataset_codes = unique(df(2:end,idx)); +assert(length(dataset_codes) == 1); +assert(dataset_codes{1} == "ZUTN"); + +idx = find(strcmp('series_code',df(1,:))); +series_codes = unique(df(2:end,idx)); +assert(series_codes{1} == "DEU.1.0.0.0.ZUTN"); + +assert(any(find(strcmp('filtered',df(1,:))))); +idx_freq = find(strcmp('x_frequency',df(1,:))); +frequencies = unique(df(2:end, idx_freq)); +assert(any(strcmp(frequencies, "monthly"))); +assert(any(contains(series_codes, "_filtered"))); +end \ No newline at end of file