public static void Execute(IExchangeRatesClient client, AnnualTimeSeries options) { var model = client.GetAnnualTimeSeries(options.StartYear, options.EndYear, options.BaseCurrencyIsoCode.ToUpper(), options.CurrencyIsoCode.ToUpper()).Result; System.Console.WriteLine($"{model.ResultsInfo.IsoCode} {model.ResultsInfo.Currency}"); System.Console.WriteLine(); System.Console.WriteLine($"Year Rate"); foreach (var rate in model.Rates) { System.Console.WriteLine( $"{rate.ReferenceDate:0000} {rate.AvgRate,16:N6} {model.ResultsInfo.ExchangeConventionCode,1}"); } System.Console.WriteLine(); System.Console.WriteLine("Exchange convention:"); System.Console.WriteLine( $"{model.ResultsInfo.ExchangeConventionCode} {model.Rates.FirstOrDefault()?.ExchangeConvention}"); }
public async Task GetAnnualTimeSeries() { var startYear = 2019; var endYear = 2020; var rates = new AnnualTimeSeriesModel.ExchangeRateModel[] { new AnnualTimeSeriesModel.ExchangeRateModel { ReferenceDate = startYear, AvgRate = 1.1652, ExchangeConvention = "Foreign currency amount for 1 Euro", }, new AnnualTimeSeriesModel.ExchangeRateModel { ReferenceDate = endYear, AvgRate = 1.1625, ExchangeConvention = "Foreign currency amount for 1 Euro", } }; var expected = new AnnualTimeSeriesModel { ResultsInfo = new AnnualTimeSeriesModel.ResultsInfoModel { TotalRecords = rates.Length, Currency = "U.S. Dollar", IsoCode = "USD", UicCode = "001", ExchangeConventionCode = "C" }, Rates = rates }; var actual = await _client.GetAnnualTimeSeries(startYear, endYear, "USD", "EUR"); Assert.Equal(JsonConvert.SerializeObject(expected), JsonConvert.SerializeObject(actual)); }