コード例 #1
0
        private void When_writing_to_existing_file_it_must_update_file_timings()
        {
            // Arrange
            const string path = @"C:\some\file.txt";

            DateTime creationTimeUtc = 17.March(2006).At(14, 03, 53).AsUtc();
            var      clock           = new SystemClock(() => creationTimeUtc);

            IFileSystem fileSystem = new FakeFileSystemBuilder(clock)
                                     .IncludingEmptyFile(path)
                                     .Build();

            DateTime changeTimeUtc = 18.March(2006).At(14, 03, 53).AsUtc();

            clock.UtcNow = () => changeTimeUtc;

            // Act
            fileSystem.File.WriteAllBytes(path, BufferFactory.SingleByte(0xFF));

            // Assert
            fileSystem.File.GetCreationTimeUtc(path).Should().Be(creationTimeUtc);
            fileSystem.File.GetLastWriteTimeUtc(path).Should().Be(changeTimeUtc);
            fileSystem.File.GetLastAccessTimeUtc(path).Should().Be(changeTimeUtc);
        }