public void UnmodifiedFilesAreAdded() { // Arrange const string file1 = "File1"; const string file1Hash = "File1Hash"; var delta = new DiffResult(); var target = new List <FileMetadata> { new FileMetadata { Hash = file1Hash, Name = file1 } }; var diff = new FileListDiffService( Mock.Of <IFileHashService>(), Mock.Of <ITimeProvider>()); // Act var result = diff.Apply(delta, target); // Assert Assert.AreEqual(1, result.Files.Count); Assert.AreEqual(file1, result.Files[0].Name); Assert.AreEqual(file1Hash, result.Files[0].Hash); }
public void ModifiedFilesAreIdentified() { // Arrange const string file1 = "File1"; const string file1Hash = "File1Hash"; const string file2 = "File2"; const string file2ModifiedHash = "File2ModifiedHash"; var filesInDirectory = new[] { file1, file2 }; var hashService = Mock.Of <IFileHashService>(s => s.ComputeHash(file1) == file1Hash && s.ComputeHash(file2) == file2ModifiedHash); var lastRun = new FileMetadataCollection { Files = new List <FileMetadata> { new FileMetadata { Hash = file1Hash, Name = file1 }, new FileMetadata { Hash = "File2Hash", Name = file2 } } }; var diff = new FileListDiffService( hashService, Mock.Of <ITimeProvider>()); // Act var result = diff.Compare(filesInDirectory, lastRun.Files); // Assert Assert.IsEmpty(result.Added); Assert.AreEqual(1, result.Modified.Count); Assert.AreEqual(file2ModifiedHash, result.Modified[0].Hash); Assert.AreEqual(file2, result.Modified[0].Name); Assert.IsEmpty(result.Removed); }
public void TimestampIsSet() { // Arrange var now = new DateTime(2019, 3, 13, 11, 30, 0); var delta = new DiffResult(); var target = new List <FileMetadata>(); var timeProvider = Mock.Of <ITimeProvider>(t => t.UtcNow == now); var diff = new FileListDiffService( Mock.Of <IFileHashService>(), timeProvider); // Act var result = diff.Apply(delta, target); // Assert Assert.AreEqual(now, result.LastUpdated); }
public void RemovedFilesAreIdentified() { // Arrange const string file1 = "File1"; const string file2 = "File2"; var filesInDirectory = new[] { file1 }; var lastRun = new FileMetadataCollection { Files = new List <FileMetadata> { new FileMetadata { Name = file1 }, new FileMetadata { Name = file2 } } }; var diff = new FileListDiffService( Mock.Of <IFileHashService>(), Mock.Of <ITimeProvider>()); // Act var result = diff.Compare(filesInDirectory, lastRun.Files); // Assert Assert.IsEmpty(result.Added); Assert.IsEmpty(result.Modified); Assert.AreEqual(1, result.Removed.Count); Assert.AreEqual(file2, result.Removed[0]); }