public void After_Ending_async_download_IsBusy_should_be_false() { var downloader = this.CreateUnitTestableDownloader(); var waitHandle = new AutoResetEvent(false); downloader.DownloadCompleted += (sender, args) => waitHandle.Set(); downloader.DownloadAsync(); waitHandle.ThrowIfWaitHandleTimesOut(TimeSpan.FromSeconds(5)); Assert.AreEqual(false, downloader.IsBusy); }
public void And_DownloadDailyAsync_fails_it_should_raise_event_which_includes_the_exception() { var downloader = new ReportDownloader(TomatoDailyBandwidthUri, TomatoUsername, TomatoInvalidPassword); var waitHandle = new AutoResetEvent(false); DownloadCompletedEventArgs args = null; downloader.DownloadDailyCompleted += (sender, eventArgs) => { args = eventArgs; waitHandle.Set(); }; downloader.DownloadDailyAsync(); waitHandle.ThrowIfWaitHandleTimesOut(TimeSpan.FromSeconds(5)); Assert.IsNotNull(args.Error); Assert.IsNull(args.Report); }
public void Then_DownloadDailyAsync_should_raise_event_with_results() { var downloader = new ReportDownloader(TomatoDailyBandwidthUri, TomatoUsername, TomatoPassword); var waitHandle = new AutoResetEvent(false); DownloadCompletedEventArgs args = null; downloader.DownloadDailyCompleted += (sender, eventArgs) => { args = eventArgs; waitHandle.Set(); }; downloader.DownloadDailyAsync(); waitHandle.ThrowIfWaitHandleTimesOut(TimeSpan.FromSeconds(5)); var result = args.Report; Assert.IsNull(args.Error); Assert.AreEqual(0, result.Monthly.Count(), "Monthly report should be empty"); Assert.AreNotEqual(0, result.Daily.ToList(), "Daily report should not be empty"); }