public void TryRemoveFile_should_never_throw_exceptions() { using (var folder = new TemporaryFolder()) { var file = folder.GetFileName("log"); using (System.IO.File.Create(file)) fileSystem.TryRemoveFile(file).Should().Be(!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)); } }
public void TryRemoveFile_should_never_throw_exceptions() { using (var folder = new TemporaryFolder()) { var file = folder.GetFileName("log"); using (System.IO.File.Create(file)) fileSystem.TryRemoveFile(file).Should().BeFalse(); } }
public void OpenFile_should_use_shared_handles() { using (var folder = new TemporaryFolder()) { var file = folder.GetFileName("log"); using (var writer = fileSystem.OpenFile(file, FileOpenMode.Append, Encoding.UTF8, 4096)) { writer.WriteLine("test"); writer.Flush(); using (var reader = new StreamReader(new FileStream(file, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))) reader.ReadLine().Should().Be("test"); } } }
public void TryOpenFile_should_return_null_if_locked() { var settings = new FileLogSettings { UseSeparateFileOnConflict = false }; using (var folder = new TemporaryFolder()) { var file = folder.GetFileName("log"); using (var writer1 = fileSystem.TryOpenFile(file, settings)) using (var writer2 = fileSystem.TryOpenFile(file, settings)) { writer1.Should().NotBeNull(); writer2.Should().BeNull(); } } }
public void TryOpenFile_should_use_shared_handles_if_specified() { var settings = new FileLogSettings { FileShare = FileShare.ReadWrite }; using (var folder = new TemporaryFolder()) { var file = folder.GetFileName("log"); using (var writer = fileSystem.TryOpenFile(file, settings)) { writer.WriteLine("test"); writer.Flush(); using (var reader = new StreamReader(new FileStream(file, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))) reader.ReadLine().Should().Be("test"); } } }
public void TryOpenFile_should_append_suffix_if_locked() { var settings = new FileLogSettings { UseSeparateFileOnConflict = true }; using (var folder = new TemporaryFolder()) { var file = folder.GetFileName("log"); using (var writer1 = fileSystem.TryOpenFile(file, settings)) using (var writer2 = fileSystem.TryOpenFile(file, settings)) { writer1.WriteLine("test1"); writer2.WriteLine("test2"); } System.IO.File.ReadAllLines(file).Should().BeEquivalentTo("test1"); System.IO.File.ReadAllLines(file + "-1").Should().BeEquivalentTo("test2"); } }