Skip to content

Commit 20e8253

Browse files
committed
Merge pull request #50 from dnperfors/master
Add support for MockFile.GetAttributes()
2 parents 8f05095 + da2073c commit 20e8253

2 files changed

Lines changed: 24 additions & 1 deletion

File tree

TestHelpers.Tests/MockFileTests.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,29 @@ public void MockFile_GetLastAccessTimeOfNonExistantFile_ShouldReturnDefaultValue
229229
ExecuteDefaultValueTest((f, p) => f.GetLastAccessTime(p));
230230
}
231231

232+
[Test]
233+
public void MockFile_GetAttributeOfNonExistantFile_ShouldReturnDefaultValue() {
234+
var fileSystem = new MockFileSystem();
235+
var attributes = fileSystem.File.GetAttributes(@"c:\something\demo.txt");
236+
Assert.That(attributes, Is.EqualTo(FileAttributes.Normal));
237+
}
238+
239+
[Test]
240+
public void MockFile_GetAttributeOfExistingFile_ShouldReturnCorrectValue()
241+
{
242+
var filedata = new MockFileData("test")
243+
{
244+
Attributes = FileAttributes.Hidden
245+
};
246+
var fileSystem = new MockFileSystem(new Dictionary<string, MockFileData>
247+
{
248+
{ @"c:\something\demo.txt", filedata},
249+
});
250+
251+
var attributes = fileSystem.File.GetAttributes(@"c:\something\demo.txt");
252+
Assert.That(attributes, Is.EqualTo(FileAttributes.Hidden));
253+
}
254+
232255
[Test]
233256
public void MockFile_GetCreationTimeOfNonExistantFile_ShouldReturnDefaultValue() {
234257
ExecuteDefaultValueTest((f, p) => f.GetCreationTime(p));

TestingHelpers/MockFile.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ public override FileSecurity GetAccessControl(string path, AccessControlSections
119119

120120
public override FileAttributes GetAttributes(string path)
121121
{
122-
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.");
122+
return mockFileDataAccessor.GetFile(path, true).Attributes;
123123
}
124124

125125
public override DateTime GetCreationTime(string path)

0 commit comments

Comments
 (0)