public void Open_FileExists(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscFileInfo di = fs.GetFileInfo("foo.txt"); using (Stream s = di.Open(FileMode.Create)) { s.WriteByte(1); } using (Stream s = di.Open(FileMode.CreateNew)) { } }
public void Open_FileNotFound(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscFileInfo di = fs.GetFileInfo("foo.txt"); using (Stream s = di.Open(FileMode.Open)) { } }
public void Open_Write_Fail(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscFileInfo di = fs.GetFileInfo("foo.txt"); using (Stream s = di.Open(FileMode.Create, FileAccess.ReadWrite)) { s.WriteByte(1); } using (Stream s = di.Open(FileMode.Open, FileAccess.Write)) { Assert.IsTrue(s.CanWrite); Assert.IsFalse(s.CanRead); s.ReadByte(); } }
public void Attributes_ChangeType(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscFileInfo fi = fs.GetFileInfo("foo.txt"); using (Stream s = fi.Open(FileMode.Create)) { } fi.Attributes = fi.Attributes | FileAttributes.Directory; }
public void Open_DirExists(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory("FOO.TXT"); DiscFileInfo di = fs.GetFileInfo("foo.txt"); using (Stream s = di.Open(FileMode.Create)) { s.WriteByte(1); } }
public void Open_Read_Fail(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscFileInfo di = fs.GetFileInfo("foo.txt"); using (Stream s = di.Open(FileMode.Create, FileAccess.Read)) { s.WriteByte(1); } }
public void Exists(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscFileInfo fi = fs.GetFileInfo("foo.txt"); Assert.IsFalse(fi.Exists); using (Stream s = fi.Open(FileMode.Create)) { } Assert.IsTrue(fi.Exists); fs.CreateDirectory("dir.txt"); Assert.IsFalse(fs.GetFileInfo("dir.txt").Exists); }
public void Attributes(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscFileInfo fi = fs.GetFileInfo("foo.txt"); using (Stream s = fi.Open(FileMode.Create)) { } // Check default attributes Assert.AreEqual(FileAttributes.Archive, fi.Attributes); // Check round-trip FileAttributes newAttrs = FileAttributes.Hidden | FileAttributes.ReadOnly | FileAttributes.System; fi.Attributes = newAttrs; Assert.AreEqual(newAttrs, fi.Attributes); // And check persistence to disk Assert.AreEqual(newAttrs, fs.GetFileInfo("foo.txt").Attributes); }