public void CanGetSeriesRelease() { const string response = @"<?xml version=""1.0"" encoding=""utf-8"" ?> <releases realtime_start=""2012-04-26"" realtime_end=""2012-04-26""> <release id=""15"" realtime_start=""2012-04-26"" realtime_end=""2012-04-26"" name=""G.5 Foreign Exchange Rates"" press_release=""true"" link=""http://www.federalreserve.gov/releases/g5/""/> </releases>"; var downloader = new MockDownloader(response); var fred = new Fred("key", downloader); var release = fred.GetSeriesRelease("EXJPUS"); var expectedUrl = "http://api.stlouisfed.org/fred/series/release?api_key=key&series_id=EXJPUS" + RealtimeNow; Assert.AreEqual(expectedUrl, downloader.Url); Assert.AreEqual(15, release.Id); Assert.AreEqual("G.5 Foreign Exchange Rates", release.Name); Assert.AreEqual(true, release.PressRelease); Assert.AreEqual("http://www.federalreserve.gov/releases/g5/", release.Link); Assert.AreEqual("", release.Notes); Assert.AreEqual(new DateTime(2012, 4, 26), release.RealtimeStart); Assert.AreEqual(new DateTime(2012, 4, 26), release.RealtimeEnd); }