public async void CanGetSeriesObservationsAsync() { const string response = @"<?xml version=""1.0"" encoding=""utf-8"" ?> <observations realtime_start=""2012-04-26"" realtime_end=""2012-04-26"" observation_start=""1776-07-04"" observation_end=""9999-12-31"" units=""lin"" output_type=""1"" file_type=""xml"" order_by=""observation_date"" sort_order=""asc"" count=""495"" offset=""0"" limit=""100000""> <observation realtime_start=""2012-04-26"" realtime_end=""2012-04-26"" date=""1971-01-01"" value=""358.02""/> <observation realtime_start=""2012-04-26"" realtime_end=""2012-04-26"" date=""1971-02-01"" value=""357.5450""/> <observation realtime_start=""2012-04-26"" realtime_end=""2012-04-26"" date=""1971-03-01"" value=""357.5187""/> <observation realtime_start=""2012-04-26"" realtime_end=""2012-04-26"" date=""1971-04-01"" value=""357.5032""/> <observation realtime_start=""2012-04-26"" realtime_end=""2012-04-26"" date=""1971-05-01"" value=""357.4130""/> <observation realtime_start=""2012-04-26"" realtime_end=""2012-04-26"" date=""1971-06-01"" value=""357.4118""/> </observations>"; var downloader = new MockDownloader(response); var fred = new Fred("key", downloader); var observations = await fred.GetSeriesObservationsAsync("EXJPUS"); var expectedUrl = "http://api.stlouisfed.org/fred/series/observations?api_key=key&series_id=EXJPUS" + RealtimeNow + "&limit=100000&offset=0&sort_order=asc&observation_start=1776-07-04&observation_end=9999-12-31&units=lin&frequency=&aggregation_method=avg&output_type=1&file_type=xml&vintage_dates="; Assert.AreEqual(expectedUrl, downloader.Url); Assert.AreEqual(6, observations.Count()); }