public async Task CachedFilesViewModelTests_DeleteOne() { int nFiles = 3; string[] fileNames = new string[nFiles]; for (int i = 0; i < nFiles; i++) { fileNames[i] = await CreateRandomFile(); } ICachedFilesViewModel vm = await this.viewModelFactory.AssembleAsync(); Assert.AreEqual(nFiles, vm.StoredFiles.Count); for (int i = 0; i < nFiles; i++) { // Order is not guaranteed to be the same Assert.IsTrue(fileNames.Contains(vm.StoredFiles[i].Metadata)); } this.promptService.Result = true; int iDelete = 1; string deletedName = vm.StoredFiles[iDelete].Metadata; await vm.StoredFiles[iDelete].ForgetCommand.ExecuteAsync(null); Assert.AreEqual(nFiles - 1, vm.StoredFiles.Count, "CachedFiles.Count should decrement on delete"); Assert.IsFalse(vm.StoredFiles.Select(desc => desc.Metadata).Contains(deletedName), "The right entry should have been deleted"); await AwaitableTimeout(200); ICachedFilesViewModel newVm = await this.viewModelFactory.AssembleAsync(); Assert.AreEqual(nFiles - 1, newVm.StoredFiles.Count, "Assembling a new ViewModel should reflect the deleted entry"); }
public async Task CachedFilesViewModelTests_FileCount() { int nFiles = 3; for (int i = 0; i < nFiles; i++) { await CreateRandomFile(); } ICachedFilesViewModel vm = await this.viewModelFactory.AssembleAsync(); Assert.AreEqual(nFiles, vm.StoredFiles.Count); }
/// <summary> /// Creates an instance of the dialog with an overridden prompt blurb. /// </summary> /// <param name=""></param> /// <param name="blurb">Text to display at the top of the dialog.</param> public CachedFileManagementDialog(ICachedFilesViewModel viewModel, string blurb) : this(viewModel) { this.blurb.Text = blurb; }
/// <summary> /// Creates an instance of the dialog with a default text blurb. /// </summary> /// <param name="viewModel"></param> public CachedFileManagementDialog(ICachedFilesViewModel viewModel) { ViewModel = viewModel ?? throw new ArgumentNullException(nameof(viewModel)); InitializeComponent(); }