public void Run_ActionDownloadsTwoPackages_DownloadingMessageLoggedOnceForEachDownloadOperationByProgressMonitor() { CreateRunner(); AddInstallActionWithCustomExecuteAction(() => { var repository = new FakePackageRepository(); repositoryFactoryEvents.RaiseRepositoryCreatedEvent(new PackageRepositoryFactoryEventArgs(repository)); var progress = new ProgressEventArgs("Download1", 100); repository.RaiseProgressAvailableEvent(progress); progress = new ProgressEventArgs("Download2", 50); repository.RaiseProgressAvailableEvent(progress); progress = new ProgressEventArgs("Download2", 100); repository.RaiseProgressAvailableEvent(progress); }); Run(); progressMonitor.AssertMessageIsLogged("Download1"); progressMonitor.AssertMessageIsLogged("Download2"); progressMonitor.AssertMessageIsNotLogged("Download2" + Environment.NewLine + "Download2"); }
void FireRepositoryCreatedEvent(IPackageRepository repository) { var eventArgs = new PackageRepositoryFactoryEventArgs(repository); repositoryFactoryEvents.RaiseRepositoryCreatedEvent(eventArgs); }