Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions TestHelpers.Tests/MockFileInfoTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
}
2 changes: 1 addition & 1 deletion TestingHelpers/MockFileInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down