public void MockFile_Delete_ShouldDeleteFile() { var fileSystem = new MockFileSystem(); var path = XFS.Path("C:\\test"); var directory = fileSystem.Path.GetDirectoryName(path); fileSystem.AddFileWithCreate(path, new MockFileData("Bla")); var fileCount1 = fileSystem.Directory.GetFiles(directory, "*").Length; fileSystem.File.Delete(path); var fileCount2 = fileSystem.Directory.GetFiles(directory, "*").Length; Assert.AreEqual(1, fileCount1, "File should have existed"); Assert.AreEqual(0, fileCount2, "File should have been deleted"); }
public void MockFileStream_Dispose_ShouldNotResurrectFile() { var fileSystem = new MockFileSystem(); var path = XFS.Path("C:\\test"); var directory = fileSystem.Path.GetDirectoryName(path); fileSystem.AddFileWithCreate(path, new MockFileData("Bla")); var stream = fileSystem.File.Open(path, FileMode.Open, FileAccess.ReadWrite, FileShare.Delete); var fileCount1 = fileSystem.Directory.GetFiles(directory, "*").Length; fileSystem.File.Delete(path); var fileCount2 = fileSystem.Directory.GetFiles(directory, "*").Length; stream.Dispose(); var fileCount3 = fileSystem.Directory.GetFiles(directory, "*").Length; Assert.AreEqual(1, fileCount1, "File should have existed"); Assert.AreEqual(0, fileCount2, "File should have been deleted"); Assert.AreEqual(0, fileCount3, "Disposing stream should not have resurrected the file"); }
public void MockFileInfo_OpenText_ShouldReturnStringContentOfFile() { // Arrange var fileSystem = new MockFileSystem(); fileSystem.AddFileWithCreate(XFS.Path(@"c:\temp\file.txt"), new MockFileData(@"line 1\r\nline 2")); var fileInfo = fileSystem.FileInfo.FromFileName(XFS.Path(@"c:\temp\file.txt")); // Act string result; using (var streamReader = fileInfo.OpenText()) { result = streamReader.ReadToEnd(); } Assert.AreEqual(@"line 1\r\nline 2", result); }
public void MockFileInfo_OpenRead_ShouldReturnByteContentOfFile() { // Arrange var fileSystem = new MockFileSystem(); fileSystem.AddFileWithCreate(XFS.Path(@"c:\temp\file.txt"), new MockFileData(new byte[] { 1, 2 })); var fileInfo = fileSystem.FileInfo.FromFileName(XFS.Path(@"c:\temp\file.txt")); // Act byte[] result = new byte[2]; using (var stream = fileInfo.OpenRead()) { stream.Read(result, 0, 2); } Assert.AreEqual(new byte[] { 1, 2 }, result); }
public void MockFile_OpenText_ShouldRetainCreationTime() { // Arrange var fs = new MockFileSystem(); string filepath = XFS.Path(@"C:\TestData\test.txt"); var file = new MockFileData(@"I'm here"); var creationTime = new DateTime(2012, 03, 21); file.CreationTime = creationTime; fs.AddFileWithCreate(filepath, file); // Act using (var reader = fs.File.OpenText(filepath)) { reader.ReadLine(); } // Assert Assert.AreEqual(creationTime, fs.FileInfo.FromFileName(filepath).CreationTime); }
public void MockDirectory_Exists_ShouldReturnTrueForFolderContainingFileAddedToMockFileSystem() { // Arrange var fileSystem = new MockFileSystem(); fileSystem.AddFileWithCreate(XFS.Path(@"c:\foo\bar.txt"), new MockFileData("Demo text content")); // Act var result = fileSystem.Directory.Exists(XFS.Path(@"c:\foo\")); // Assert Assert.IsTrue(result); }