diff --git a/TestHelpers.Tests/MockFileInfoTests.cs b/TestHelpers.Tests/MockFileInfoTests.cs index 35bc48bdc..1784736f9 100644 --- a/TestHelpers.Tests/MockFileInfoTests.cs +++ b/TestHelpers.Tests/MockFileInfoTests.cs @@ -188,5 +188,41 @@ public void MockFileInfo_GetDirectory_ShouldReturnDirectoryInfoWithCorrectPath() Assert.AreEqual(@"c:\temp\level1\level2\", result.FullName); } + + [Test] + public void MockFileInfo_OpenRead_ShouldReturnByteContentOfFile() + { + // Arrange + var fileSystem = new MockFileSystem(); + fileSystem.AddFile(@"c:\temp\file.txt", new MockFileData(new byte[] { 1, 2 })); + var fileInfo = fileSystem.FileInfo.FromFileName(@"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); + } + + [Test] + public void MockFileInfo_OpenText_ShouldReturnStringContentOfFile() + { + // Arrange + var fileSystem = new MockFileSystem(); + fileSystem.AddFile(@"c:\temp\file.txt", new MockFileData(@"line 1\r\nline 2")); + var fileInfo = fileSystem.FileInfo.FromFileName(@"c:\temp\file.txt"); + + // Act + string result; + using (var streamReader = fileInfo.OpenText()) + { + result = streamReader.ReadToEnd(); + } + + Assert.AreEqual(@"line 1\r\nline 2", result); + } } } \ No newline at end of file diff --git a/TestingHelpers/MockFileInfo.cs b/TestingHelpers/MockFileInfo.cs index 6b9c7d3cd..65e4f85f4 100644 --- a/TestingHelpers/MockFileInfo.cs +++ b/TestingHelpers/MockFileInfo.cs @@ -190,7 +190,7 @@ public override Stream OpenRead() public override StreamReader OpenText() { - throw new NotImplementedException("This test helper hasn't been implemented yet. They are implemented on an as-needed basis. As it seems like you need it, now would be a great time to send us a pull request over at https://github.com/tathamoddie/System.IO.Abstractions. You know, because it's open source and all."); + return new StreamReader(OpenRead()); } public override Stream OpenWrite()