Ejemplo n.º 1
0
        public async Task<double> CalculateTotalProgressWhenAllDownloading(double firstProgress, double secondProgress, double thirdProgress)
        {
            var mockfirtFileDownloader = Substitute.For<IFileDownloader>();
            mockfirtFileDownloader
                .When(x => x.Download(Arg.Any<string>(), Arg.Any<Action<double>>()))
                .Do(x => x.Arg<Action<double>>().Invoke(firstProgress));

            var mockSecondFileDownloader = Substitute.For<IFileDownloader>();
            mockSecondFileDownloader
                .When(x => x.Download(Arg.Any<string>(), Arg.Any<Action<double>>()))
                .Do(x => x.Arg<Action<double>>().Invoke(secondProgress));

            var mockThirdFileDownloader = Substitute.For<IFileDownloader>();
            mockThirdFileDownloader
                .When(x => x.Download(Arg.Any<string>(), Arg.Any<Action<double>>()))
                .Do(x => x.Arg<Action<double>>().Invoke(thirdProgress));

            var firstImageDownloaderViewModel = new ImageDownloaderViewModel(mockfirtFileDownloader, new ViewFactory());
            var secondImageDownloaderViewModel = new ImageDownloaderViewModel(mockSecondFileDownloader, new ViewFactory());
            var thirdImageDownloaderViewModel = new ImageDownloaderViewModel(mockThirdFileDownloader, new ViewFactory());

            var mainViewModel = new MainViewModel(firstImageDownloaderViewModel,
                                                  secondImageDownloaderViewModel,
                                                  thirdImageDownloaderViewModel);
            await mainViewModel.DownloadAllAsync();
            return mainViewModel.TotalDownloadingProgress;
        }
Ejemplo n.º 2
0
        public async Task UpdateSourceImageAfterDownloading()
        {
            var imageDownloaderViewModel = new ImageDownloaderViewModel(new FileDownloader(), new ViewFactory());

            imageDownloaderViewModel.Url = @"http://lifeandjoy.ru/uploads/posts/2015-07/1438256217_lifeandjoy.ru_02.jpg";
            await imageDownloaderViewModel.StartDownloadAsync();

            Assert.IsNotNull(imageDownloaderViewModel.SourceImage);
        }
Ejemplo n.º 3
0
        public async Task CreateExceptionMessageWhenDownloadFailed()
        {
            var mockFileDownLoader = Substitute.For <IFileDownloader>();

            mockFileDownLoader
            .Download(Arg.Any <string>(), Arg.Any <Action <double> >())
            .Throws(new WebException());

            var isCReated       = false;
            var mockViewFactory = Substitute.For <IViewFactory>();

            mockViewFactory
            .When(x => x.CreateExceptionViewDialogAsync(Arg.Any <string>()))
            .Do(_ => isCReated = true);

            var imageDownloaderViewModel = new ImageDownloaderViewModel(mockFileDownLoader, mockViewFactory);
            await imageDownloaderViewModel.StartDownloadAsync();

            Assert.That(isCReated, Is.True);
        }