public void Then_Monthly_values_should_be_empty()
        {
            var fakeDownloader = A.Fake<IReportDownloader>();
            var fakeSettings = A.Fake<ISettings>();
            A.CallTo(() => fakeSettings.Address).Returns("http://localhost");
            var command = new DownloadReportCommand(fakeDownloader, fakeSettings);

            var itemCount = 0;

            command.ReportDownloaded += (sender, args) =>
                {
                    itemCount = args.Monthly.Count();
                };

            command.Execute(null);

            // Raise the event from the fake.
            var eventArgs = new DownloadCompletedEventArgs(CreateReport(), new Exception());
            fakeDownloader.DownloadCompleted += Raise.With(eventArgs).Now;

            Assert.AreEqual(0, itemCount);
        }
 private void DownloadCompleted(object sender, DownloadCompletedEventArgs e)
 {
     this.OnReportDownloaded(e.Report, Common.SystemTime(), e.Error);
     this.isBusy = false;
     this.OnCanExecuteChanged();
 }