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);
        }
Example #3
0
 /// <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;
 }
Example #4
0
 /// <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();
 }