public void Throws_IOException_for_write_access() { // ARRANGE var sut = new EmbeddedResourcesFileSystem(Assembly.GetExecutingAssembly()); // ACT / ASSERT Assert.Throws <IOException>(() => sut.OpenFile("/file", FileMode.Open, FileAccess.Write, FileShare.None)); Assert.Throws <IOException>(() => sut.OpenFile("/file", FileMode.Open, FileAccess.ReadWrite, FileShare.None)); foreach (var fileMode in Enum.GetValues(typeof(FileMode)).Cast <FileMode>()) { if (fileMode == FileMode.Open) { continue; } Assert.Throws <IOException>(() => sut.OpenFile("/file", fileMode, FileAccess.Read, FileShare.None)); } }
public void FileNotFoundException_if_file_does_not_exist(string path) { // ARRANGE var sut = new EmbeddedResourcesFileSystem(Assembly.GetExecutingAssembly()); Action act = () => sut.OpenFile(path, FileMode.Open, FileAccess.Read, FileShare.None); // ACT var ex = Record.Exception(act); // ASSERT Assert.IsType <FileNotFoundException>(ex); }
public void Succeeds_for_read_access(string path) { // ARRANGE var sut = new EmbeddedResourcesFileSystem(Assembly.GetExecutingAssembly()); // ACT using var stream = sut.OpenFile(path, FileMode.Open, FileAccess.Read, FileShare.None); // ASSERT Assert.False(stream.CanWrite); Assert.True(stream.CanRead); }