public void SearchFiles_KeepLast() { #region Arrange CreateFiles( "shouldDelete.asm.1", "shouldDelete.asm", "shouldDeleteAgain.asm.30", "shouldDeleteAgain.asm.48" ); ISearchParams sp = new DTO.SearchParams() { Criterias = new ICriteria[1] { new DTO.Criteria { Extension = "asm" } }, SearchDirs = new ISearchDir[1] { new DTO.SearchDir { Path = _tempPath } } }; #endregion #region Act var files = FileParser.SearchForFiles(sp, 1); #endregion #region Assert /* * Le test est valide si : * - 4 fichiers sont détectés * - les fichiers shouldDelete.asm.1 et shouldDeleteAgain.asm.48 sont marqués comme ShouldBeDeleted=false * - les autres fichiers sont marqués comme ShouldBeDeleted=true * */ Assert.AreEqual(4, files.Count()); foreach (var f in files) { switch (f.Info.Name) { case "shouldDelete.asm.1": case "shouldDeleteAgain.asm.48": Assert.IsFalse(f.ShouldBeDeleted); break; case "shouldDelete.asm": case "shouldDeleteAgain.asm.30": Assert.IsTrue(f.ShouldBeDeleted); break; } } #endregion }
public void SearchFiles_CriteriaKeepOverridesFolderKeep() { #region Arrange CreateFiles( "stay.valid", "shouldDelete.keep1.11", "shouldDelete.keep1.12", "shouldDelete.keep1.13", "shouldDelete.keep2.30", "shouldDelete.keep2.35", "shouldDelete.keep2.48" ); ISearchParams sp = new DTO.SearchParams() { Criterias = new ICriteria[2] { new DTO.Criteria { Extension = "keep2", NbToKeep = 2 }, new DTO.Criteria { Extension = "keep1" } }, SearchDirs = new ISearchDir[1] { new DTO.SearchDir { Path = _tempPath, NbToKeep = 1 } } }; #endregion #region Act var files = FileParser.SearchForFiles(sp); #endregion #region Assert /* * Le test est valide si : * - 4 fichiers sont détectés * - les fichiers shouldDelete.asm.1 et shouldDeleteAgain.asm.48 sont marqués comme ShouldBeDeleted=false * - les autres fichiers sont marqués comme ShouldBeDeleted=true * */ Assert.AreEqual(6, files.Count()); foreach (var f in files) { switch (f.Info.Name) { case "shouldDelete.keep1.13": case "shouldDelete.keep2.35": case "shouldDelete.keep2.48": Assert.IsFalse(f.ShouldBeDeleted); break; case "shouldDelete.keep1.11": case "shouldDelete.keep1.12": case "shouldDeleteAgain.asm.30": Assert.IsTrue(f.ShouldBeDeleted); break; } } #endregion }