Пример #1
0
 public ProgressItemTests()
 {
     _uniqueKey    = @"C:\TV Shows\Adventure Time";
     _display      = new Lazy <string>(() => "Adventure Time");
     _func         = Substitute.For <Func <Task> >();
     _progressItem = new ProgressItem(_uniqueKey, _display, _func);
 }
Пример #2
0
 public ProgressItemTests()
 {
     _uniqueKey = @"C:\TV Shows\Adventure Time";
     _display = new Lazy<string>(() => "Adventure Time");
     _func = Substitute.For<Func<Task>>();
     _progressItem = new ProgressItem(_uniqueKey, _display, _func);
 }
 private async Task ExecuteItem(ProgressItem item)
 {
     await item.Execute();
     Completed.Add(item);
     if (!string.IsNullOrEmpty(item.Message))
     {
         InError.Add(item);
     }
 }
        private async Task ExecuteItem(ProgressItem item)
        {
            await item.Execute();

            Completed.Add(item);
            if (!string.IsNullOrEmpty(item.Message))
            {
                InError.Add(item);
            }
        }
Пример #5
0
        public void AddItem_WhenCollecting_AddsNewItemToTotal()
        {
            // Arrange
            ProgressItem progressItem = CreateProgressItem();

            // Act
            _viewModel.AddItem(progressItem);

            // Assert
            Assert.Contains(progressItem, _viewModel.Total);
        }
 public async Task Start()
 {
     using (_busyProvider.DoWork())
     {
         _collecting = false;
         foreach (ProgressItem item in Total)
         {
             CurrentItem = item;
             await ExecuteItem(item);
         }
     }
 }
 public async Task Start()
 {
     using (_busyProvider.DoWork())
     {
         _collecting = false;
         foreach (ProgressItem item in Total)
         {
             CurrentItem = item;
             await ExecuteItem(item);
         }
     }
 }
Пример #8
0
        public async Task Start_WithProgressItem_AddsItToCompleted()
        {
            // Arrange
            ProgressItem progressItem1 = CreateProgressItem();

            _viewModel.AddItem(progressItem1);

            // Act
            await _viewModel.Start();

            // Assert
            Assert.Contains(progressItem1, _viewModel.Completed);
        }
Пример #9
0
        public void AddItem_WhenCollectingAndSimilarItemWasAlreadyAdded_DoesntAddItToTotal()
        {
            // Arrange
            ProgressItem progressItem1 = CreateProgressItem();
            ProgressItem progressItem2 = CreateProgressItem();

            _viewModel.AddItem(progressItem1);

            // Act
            _viewModel.AddItem(progressItem2);

            // Assert
            Assert.DoesNotContain(progressItem2, _viewModel.Total);
        }
 public void AddItem(ProgressItem item)
 {
     if (!_collecting)
     {
         _collecting = true;
         CurrentItem = null;
         ClearItems();
         ShowProgressIndicator();
     }
     if (Total.All(i => i.UniqueKey != item.UniqueKey))
     {
         Total.Add(item);
     }
 }
 public void AddItem(ProgressItem item)
 {
     if (!_collecting)
     {
         _collecting = true;
         CurrentItem = null;
         ClearItems();
         ShowProgressIndicator();
     }
     if (Total.All(i => i.UniqueKey != item.UniqueKey))
     {
         Total.Add(item);
     }
 }
Пример #12
0
        public async Task Start_Always_StopsTheCollection()
        {
            // Arrange
            ProgressItem progressItem1 = CreateProgressItem();

            _viewModel.AddItem(progressItem1);

            // Act
            await _viewModel.Start();

            // Assert
            _viewModel.AddItem(CreateProgressItem());
            _progressIndicator.Received()
            .Show(Arg.Any <IProgressManagerViewModel>());
        }
Пример #13
0
        public void AddItem_WhenNotCollecting_ShowProgressIndicator()
        {
            // Arrange
            ProgressItem progressItem1 = CreateProgressItem();

            _viewModel.Total.Add(progressItem1);
            ProgressItem progressItem2 = CreateProgressItem();

            // Act
            _viewModel.AddItem(progressItem2);

            // Assert
            _progressIndicator.Received()
            .Show(Arg.Any <IProgressManagerViewModel>());
        }
Пример #14
0
        public async Task Start_WithProgressItemWithError_AddsItToInError()
        {
            // Arrange
            ProgressItem progressItem1 = CreateProgressItem();

            _viewModel.AddItem(progressItem1);
            _progressItemActions[0]()
            .Returns(x => { throw new EpisodeNotFoundException(); });

            // Act
            await _viewModel.Start();

            // Assert
            Assert.Contains(progressItem1, _viewModel.InError);
        }
Пример #15
0
        public void AddItem_WhenNotCollecting_ClearOldItems()
        {
            // Arrange
            ProgressItem progressItem1 = CreateProgressItem();

            _viewModel.Total.Add(progressItem1);
            _viewModel.Completed.Add(progressItem1);
            _viewModel.InError.Add(progressItem1);
            ProgressItem progressItem2 = CreateProgressItem();

            // Act
            _viewModel.AddItem(progressItem2);

            // Assert
            Assert.DoesNotContain(progressItem1, _viewModel.Total);
            Assert.DoesNotContain(progressItem1, _viewModel.Completed);
            Assert.DoesNotContain(progressItem1, _viewModel.InError);
        }
Пример #16
0
        public async Task Start_WithProgressItems_ExecutesThem()
        {
            // Arrange
            ProgressItem progressItem1 = CreateProgressItem();

            _viewModel.AddItem(progressItem1);
            ProgressItem progressItem2 = CreateProgressItem(@"C:\TV Shows\Game of Thrones", "Game of Thrones");

            _viewModel.AddItem(progressItem2);

            // Act
            await _viewModel.Start();

            // Assert
            _progressItemActions[0].Received()
                ().Async();
            _progressItemActions[1].Received()
                ().Async();
        }