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); }
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); } }
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_WithProgressItem_AddsItToCompleted() { // Arrange ProgressItem progressItem1 = CreateProgressItem(); _viewModel.AddItem(progressItem1); // Act await _viewModel.Start(); // Assert Assert.Contains(progressItem1, _viewModel.Completed); }
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 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>()); }
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>()); }
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); }
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); }
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(); }