private static List <DuplicateFile> GetDuplicateFiles(string rootDirectory) { var directoryParser = new WindowsDirectoryParser(); var duplicateFileFinder = new DuplicateFileFinder(directoryParser); var windowsFileSizer = new WindowsFileSizer(); var fileSizeDuplicatePatternMatcher = new FileSizeDuplicatePatternMatcher(windowsFileSizer); var fileHasher = new WindowsFileHasher(); var fileHashDuplicatePatternMatcher = new FileHashDuplicatePatternMatcher(fileHasher); var fileNameDuplicatePatternMatcher = new FileNameDuplicatePatternMatcher(); var duplicateFiles = duplicateFileFinder.GetDuplicates(rootDirectory, fileHashDuplicatePatternMatcher); return(duplicateFiles); }
public void SetUp() { fileNameDuplicatePatternMatcher = new FileNameDuplicatePatternMatcher(); rootDirectory = "."; directories = new List <DirectoryData> { new DirectoryData("Directory 1", @"c:\Directory 1"), new DirectoryData("Directory 2", @"c:\Directory 2"), new DirectoryData("Directory 3", @"c:\Directory 3") }; duplicateFileName1 = "File 1.txt"; duplicateFileName2 = "File 2.txt"; files = new List <FileData> { new FileData(duplicateFileName1, fullName: null), new FileData(duplicateFileName1, fullName: null), new FileData(duplicateFileName1, fullName: null), new FileData(duplicateFileName2, fullName: null), new FileData(duplicateFileName2, fullName: null), new FileData(duplicateFileName2, fullName: null), new FileData(duplicateFileName2, fullName: null), new FileData(duplicateFileName2, fullName: null), new FileData(duplicateFileName2, fullName: null), new FileData("File 3.txt", fullName: null) }; directoryParser = new Mock <IDirectoryParser>(); directoryParser .Setup(dp => dp.FindAllDirectories(rootDirectory, IncludeRootDirectoryInResults.Yes)) .Returns(directories); directoryParser .Setup(dp => dp.FindAllFiles(It.IsAny <List <DirectoryData> >())) .Returns(files); duplicateFileFinder = new DuplicateFileFinder(directoryParser.Object); }