static void CompareFilesAndWriteResult(FileInfo x, FileInfo y, FileInfoEqualityComparer comparer, object locker, string outputFilePath) { if (comparer.Equals(x, y)) { string outputLine = string.Format("{0}\t{1}", x.FullName, y.FullName); Console.WriteLine(outputLine); lock (locker) { File.AppendAllLines(outputFilePath, new string[] { outputLine }); } } }
private void ReportOrphanedFiles(List <FileInfo> programFiles) { FileInfoEqualityComparer comparer = new FileInfoEqualityComparer(); DirectoryInfo di = new DirectoryInfo(project.SrcPath); foreach (FileInfo fi in di.EnumerateFiles("Prg_*.xml")) { if (!programFiles.Contains(fi, comparer)) { log.WarnFormat("\tDiscovered orphaned program file {0}.", fi.Name); } } }
static void CompareFiles(Tuple <FileInfo, FileInfo>[] comparisons, object locker, string outputFilePath) { FileInfoEqualityComparer comparer = new FileInfoEqualityComparer(); int period = 10000; for (int i = 0; i < comparisons.Length; ++i) { CompareFilesAndWriteResult(comparisons[i].Item1, comparisons[i].Item2, comparer, locker, outputFilePath); if (i % period == 0) { Console.WriteLine("{0} of {1} complete", i, comparisons.Length); } } }
static void CompareSector(FileInfo[] files, int sector, object locker, string outputFilePath) { FileInfoEqualityComparer comparer = new FileInfoEqualityComparer(); int half = files.Length / 2; int totalWork = half * half / 2; int period = totalWork / 100; int processed = 0; IIndexEnumerator2D enumerator = new TriangleSectorIndexEnumerator(); foreach (Tuple <int, int> indices in enumerator.GetIndices(sector, files.Length)) { CompareFilesAndWriteResult(files[indices.Item1], files[indices.Item2], comparer, locker, outputFilePath); processed++; if (processed % period == 0) { Console.WriteLine("{0} of {1} complete", processed, totalWork); } } }
public async Task SynchronizeFile_ShouldCallAddSynchronization( [Frozen]Mock<ISynchronizedFilesRepository> syncFilesRepository, [Frozen]Mock<IFileSynchronizer> synchronizer, SynchronizeFileService sut, SourceFilePath sourceFilePath, TargetFilePath mirroredFilePath ) { //arrange syncFilesRepository.Setup(s => s.GetMirroredFilePath(It.IsAny<CancellationToken>(), sourceFilePath.File)) .ReturnsTask(mirroredFilePath.File); //act await sut.SynchronizeFile(CancellationToken.None, sourceFilePath.File); //assert var c = new FileInfoEqualityComparer(); syncFilesRepository.Verify( s => s.AddSynchronization( It.IsAny<CancellationToken>(), It.Is<FileInfo>(f => c.Equals(f, sourceFilePath.File)) ) ); }