Exemplo n.º 1
0
        public void Dispose_MessageLoggedAfterDispose_MessageNotLoggedToProgressMonitor()
        {
            CreateProgressMonitor();
            progressMonitor.Dispose();

            packageEvents.OnPackageOperationMessageLogged(MessageLevel.Info, "MyMessage");

            fakeProgressMonitor.AssertMessageIsNotLogged("MyMessage");
        }
        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");
        }