public void CopyFile(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscFileInfo fi = fs.GetFileInfo("foo.txt"); using (Stream s = fi.Create()) { for (int i = 0; i < 10; ++i) { s.Write(new byte[111], 0, 111); } } fi.Attributes = FileAttributes.Hidden | FileAttributes.System; fi.CopyTo("foo2.txt"); fi = fs.GetFileInfo("foo2.txt"); Assert.IsTrue(fi.Exists); Assert.AreEqual(1110, fi.Length); Assert.AreEqual(FileAttributes.Hidden | FileAttributes.System, fi.Attributes); fi = fs.GetFileInfo("foo.txt"); Assert.IsTrue(fi.Exists); fi = fs.GetFileInfo("foo2.txt"); Assert.IsTrue(fi.Exists); Assert.AreEqual(1110, fi.Length); Assert.AreEqual(FileAttributes.Hidden | FileAttributes.System, fi.Attributes); fi = fs.GetFileInfo("foo.txt"); Assert.IsTrue(fi.Exists); }
public void DeleteNonEmpty_NonRecursive(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory(@"Fred\child"); fs.Root.GetDirectories(@"Fred")[0].Delete(); }
public void Delete_Dir(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory("foo.txt"); fs.GetFileInfo("foo.txt").Delete(); }
public void GetDirectories(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory(@"SOMEDIR\CHILD\GCHILD"); fs.CreateDirectory(@"A.DIR"); Assert.Equal(2, fs.Root.GetDirectories().Length); DiscDirectoryInfo someDir = fs.Root.GetDirectories(@"SoMeDir")[0]; Assert.Equal(1, fs.Root.GetDirectories("SOMEDIR").Length); Assert.Equal("SOMEDIR", someDir.Name); Assert.Equal(1, someDir.GetDirectories("*.*").Length); Assert.Equal("CHILD", someDir.GetDirectories("*.*")[0].Name); Assert.Equal(2, someDir.GetDirectories("*.*", SearchOption.AllDirectories).Length); Assert.Equal(4, fs.Root.GetDirectories("*.*", SearchOption.AllDirectories).Length); Assert.Equal(2, fs.Root.GetDirectories("*.*", SearchOption.TopDirectoryOnly).Length); Assert.Equal(1, fs.Root.GetDirectories("*.DIR", SearchOption.AllDirectories).Length); Assert.Equal(@"A.DIR\", fs.Root.GetDirectories("*.DIR", SearchOption.AllDirectories)[0].FullName); Assert.Equal(1, fs.Root.GetDirectories("GCHILD", SearchOption.AllDirectories).Length); Assert.Equal(@"SOMEDIR\CHILD\GCHILD\", fs.Root.GetDirectories("GCHILD", SearchOption.AllDirectories)[0].FullName); }
public void Extension(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); Assert.Equal("dir", fs.GetDirectoryInfo("fred.dir").Extension); Assert.Equal("", fs.GetDirectoryInfo("fred").Extension); }
public void DeleteNonEmpty_NonRecursive(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory(@"Fred\child"); Assert.Throws <IOException>(() => fs.Root.GetDirectories(@"Fred")[0].Delete()); }
public void MoveFile(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscFileInfo fi = fs.GetFileInfo("foo.txt"); using (Stream s = fi.Create()) { for (int i = 0; i < 10; ++i) { s.Write(new byte[111], 0, 111); } } fi.Attributes = FileAttributes.Hidden | FileAttributes.System; fi.MoveTo("foo2.txt"); fi = fs.GetFileInfo("foo2.txt"); Assert.IsTrue(fi.Exists); Assert.AreEqual(1110, fi.Length); Assert.AreEqual(FileAttributes.Hidden | FileAttributes.System, fi.Attributes); fi = fs.GetFileInfo("foo.txt"); Assert.IsFalse(fi.Exists); }
public void CreateInvalid_Characters(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscDirectoryInfo dirInfo = fs.GetDirectoryInfo("SOME\0DIR"); Assert.Throws <IOException>(() => dirInfo.Create()); }
public void CreateInvalid_Long(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscDirectoryInfo dirInfo = fs.GetDirectoryInfo(new String('X', 256)); Assert.Throws <IOException>(() => dirInfo.Create()); }
public void CreateInvalid_Characters(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscDirectoryInfo dirInfo = fs.GetDirectoryInfo("SOME\0DIR"); dirInfo.Create(); }
public void Parent(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory("SOMEDIR"); Assert.Equal(fs.Root, fs.Root.GetDirectories("SOMEDIR")[0].Parent); }
public void FullName(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); Assert.Equal(@"\", fs.Root.FullName); Assert.Equal(@"SOMEDIR\", fs.GetDirectoryInfo(@"SOMEDIR").FullName); Assert.Equal(@"SOMEDIR\CHILDDIR\", fs.GetDirectoryInfo(@"SOMEDIR\CHILDDIR").FullName); }
public void VolumeLabel(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); string volLabel = fs.VolumeLabel; Assert.NotNull(volLabel); }
public void CreateInvalid_Long(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscDirectoryInfo dirInfo = fs.GetDirectoryInfo(new String('X', 256)); dirInfo.Create(); }
public void Delete_Dir(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory("foo.txt"); Assert.Throws <FileNotFoundException>(() => fs.GetFileInfo("foo.txt").Delete()); }
public void Name(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); Assert.AreEqual("foo.txt", fs.GetFileInfo("foo.txt").Name); Assert.AreEqual("foo.txt", fs.GetFileInfo(@"path\foo.txt").Name); Assert.AreEqual("foo.txt", fs.GetFileInfo(@"\foo.txt").Name); }
public void Open_FileNotFound(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscFileInfo di = fs.GetFileInfo("foo.txt"); using (Stream s = di.Open(FileMode.Open)) { } }
public void CreationTime(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory("DIR"); Assert.True(DateTime.Now >= fs.Root.GetDirectories("DIR")[0].CreationTime); Assert.True(DateTime.Now.Subtract(TimeSpan.FromSeconds(10)) <= fs.Root.GetDirectories("DIR")[0].CreationTime); }
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 CreationTime(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); using (Stream s = fs.OpenFile("foo.txt", FileMode.Create)) { } Assert.GreaterOrEqual(DateTime.Now, fs.GetFileInfo("foo.txt").CreationTime); Assert.LessOrEqual(DateTime.Now.Subtract(TimeSpan.FromSeconds(10)), fs.GetFileInfo("foo.txt").CreationTime); }
public void Length(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); using (Stream s = fs.GetFileInfo("foo.txt").Open(FileMode.Create, FileAccess.ReadWrite)) { s.SetLength(3128); } Assert.AreEqual(3128, fs.GetFileInfo("foo.txt").Length); using (Stream s = fs.OpenFile("foo.txt", FileMode.Open, FileAccess.ReadWrite)) { s.SetLength(3); Assert.AreEqual(3, s.Length); } Assert.AreEqual(3, fs.GetFileInfo("foo.txt").Length); using (Stream s = fs.OpenFile("foo.txt", FileMode.Open, FileAccess.ReadWrite)) { s.SetLength(3333); byte[] buffer = new byte[512]; for (int i = 0; i < buffer.Length; ++i) { buffer[i] = (byte)i; } s.Write(buffer, 0, buffer.Length); s.Write(buffer, 0, buffer.Length); Assert.AreEqual(1024, s.Position); Assert.AreEqual(3333, s.Length); s.SetLength(512); Assert.AreEqual(512, s.Length); } using (Stream s = fs.OpenFile("foo.txt", FileMode.Open, FileAccess.ReadWrite)) { byte[] buffer = new byte[512]; int numRead = s.Read(buffer, 0, buffer.Length); int totalRead = 0; while (numRead != 0) { totalRead += numRead; numRead = s.Read(buffer, totalRead, buffer.Length - totalRead); } for (int i = 0; i < buffer.Length; ++i) { Assert.AreEqual((byte)i, buffer[i]); } } }
public void Create(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscDirectoryInfo dirInfo = fs.GetDirectoryInfo("SOMEDIR"); dirInfo.Create(); Assert.AreEqual(1, fs.Root.GetDirectories().Length); }
public void CreateFileInvalid_Long(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); using (Stream s = fs.GetFileInfo(new string('X', 256)).Open(FileMode.Create, FileAccess.ReadWrite)) { s.WriteByte(1); } }
public void Delete(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); using (Stream s = fs.OpenFile("foo.txt", FileMode.Create)) { } fs.GetFileInfo("foo.txt").Delete(); Assert.IsFalse(fs.FileExists("foo.txt")); }
public void CreationTimeUtc(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); using (Stream s = fs.OpenFile("foo.txt", FileMode.Create)) { } Assert.True(DateTime.UtcNow >= fs.GetFileInfo("foo.txt").CreationTimeUtc); Assert.True(DateTime.UtcNow.Subtract(TimeSpan.FromSeconds(10)) <= fs.GetFileInfo("foo.txt").CreationTimeUtc); }
public void CreationTimeUtc(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory("DIR"); Assert.GreaterOrEqual(DateTime.UtcNow, fs.Root.GetDirectories("DIR")[0].CreationTimeUtc); Assert.LessOrEqual(DateTime.UtcNow.Subtract(TimeSpan.FromSeconds(10)), fs.Root.GetDirectories("DIR")[0].CreationTimeUtc); }
public void CreateFileInvalid_Characters(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); using (Stream s = fs.GetFileInfo("A\0File").Open(FileMode.Create, FileAccess.ReadWrite)) { s.WriteByte(1); } }
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_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 Attributes_ChangeType(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscFileInfo fi = fs.GetFileInfo("foo.txt"); using (Stream s = fi.Open(FileMode.Create)) { } Assert.Throws <ArgumentException>(() => fi.Attributes = fi.Attributes | FileAttributes.Directory); }
public void RootBehaviour(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); // Not all file systems can modify the root directory, so we just make sure 'get' and 'no-op' change work. fs.Root.Attributes = fs.Root.Attributes; fs.Root.CreationTimeUtc = fs.Root.CreationTimeUtc; fs.Root.LastAccessTimeUtc = fs.Root.LastAccessTimeUtc; fs.Root.LastWriteTimeUtc = fs.Root.LastWriteTimeUtc; }
public void Open_DirExists(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory("FOO.TXT"); DiscFileInfo di = fs.GetFileInfo("foo.txt"); Assert.Throws <IOException>(() => di.Open(FileMode.Create)); }
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); }
public void CreateDeleteLeakTest(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); for (int i = 0; i < 2000; ++i) { fs.CreateDirectory(@"Fred"); fs.Root.GetDirectories(@"Fred")[0].Delete(); } fs.CreateDirectory(@"SOMEDIR"); DiscDirectoryInfo dirInfo = fs.GetDirectoryInfo(@"SOMEDIR"); Assert.IsNotNull(dirInfo); for (int i = 0; i < 2000; ++i) { fs.CreateDirectory(@"SOMEDIR\Fred"); dirInfo.GetDirectories(@"Fred")[0].Delete(); } }
public void Extension(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); Assert.AreEqual("dir", fs.GetDirectoryInfo("fred.dir").Extension); Assert.AreEqual("", fs.GetDirectoryInfo("fred").Extension); }
public void FullName(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); Assert.AreEqual(@"\", fs.Root.FullName); Assert.AreEqual(@"SOMEDIR\", fs.GetDirectoryInfo(@"SOMEDIR").FullName); Assert.AreEqual(@"SOMEDIR\CHILDDIR\", fs.GetDirectoryInfo(@"SOMEDIR\CHILDDIR").FullName); }
public void Equals(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); Assert.AreEqual(fs.GetDirectoryInfo("foo"), fs.GetDirectoryInfo("foo")); }
public void Exists(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscDirectoryInfo dirInfo = fs.GetDirectoryInfo(@"SOMEDIR\CHILDDIR"); dirInfo.Create(); Assert.IsTrue(fs.GetDirectoryInfo(@"\").Exists); Assert.IsTrue(fs.GetDirectoryInfo(@"SOMEDIR").Exists); Assert.IsTrue(fs.GetDirectoryInfo(@"SOMEDIR\CHILDDIR").Exists); Assert.IsTrue(fs.GetDirectoryInfo(@"SOMEDIR\CHILDDIR\").Exists); Assert.IsFalse(fs.GetDirectoryInfo(@"NONDIR").Exists); Assert.IsFalse(fs.GetDirectoryInfo(@"SOMEDIR\NONDIR").Exists); }
public void DeleteRecursive(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory(@"Fred\child"); Assert.AreEqual(1, fs.Root.GetDirectories().Length); fs.Root.GetDirectories(@"Fred")[0].Delete(true); Assert.AreEqual(0, fs.Root.GetDirectories().Length); }
public void DeleteRoot(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.Root.Delete(); }
public void Open_FileNotFound(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscFileInfo di = fs.GetFileInfo("foo.txt"); using (Stream s = di.Open(FileMode.Open)) { } }
public void DeleteNonEmpty_NonRecursive(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory(@"Fred\child"); fs.Root.GetDirectories(@"Fred")[0].Delete(); }
public void GetDirectories(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory(@"SOMEDIR\CHILD\GCHILD"); fs.CreateDirectory(@"A.DIR"); Assert.AreEqual(2, fs.Root.GetDirectories().Length); DiscDirectoryInfo someDir = fs.Root.GetDirectories(@"SoMeDir")[0]; Assert.AreEqual(1, fs.Root.GetDirectories("SOMEDIR").Length); Assert.AreEqual("SOMEDIR", someDir.Name); Assert.AreEqual(1, someDir.GetDirectories("*.*").Length); Assert.AreEqual("CHILD", someDir.GetDirectories("*.*")[0].Name); Assert.AreEqual(2, someDir.GetDirectories("*.*", SearchOption.AllDirectories).Length); Assert.AreEqual(4, fs.Root.GetDirectories("*.*", SearchOption.AllDirectories).Length); Assert.AreEqual(2, fs.Root.GetDirectories("*.*", SearchOption.TopDirectoryOnly).Length); Assert.AreEqual(1, fs.Root.GetDirectories("*.DIR", SearchOption.AllDirectories).Length); Assert.AreEqual(@"A.DIR\", fs.Root.GetDirectories("*.DIR", SearchOption.AllDirectories)[0].FullName); Assert.AreEqual(1, fs.Root.GetDirectories("GCHILD", SearchOption.AllDirectories).Length); Assert.AreEqual(@"SOMEDIR\CHILD\GCHILD\", fs.Root.GetDirectories("GCHILD", SearchOption.AllDirectories)[0].FullName); }
public void Parent(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory(@"SOMEDIR\ADIR"); using (Stream s = fs.OpenFile(@"SOMEDIR\ADIR\FILE.TXT", FileMode.Create)) { } DiscFileInfo fi = fs.GetFileInfo(@"SOMEDIR\ADIR\FILE.TXT"); Assert.AreEqual(fs.GetDirectoryInfo(@"SOMEDIR\ADIR"), fi.Parent); Assert.AreEqual(fs.GetDirectoryInfo(@"SOMEDIR\ADIR"), fi.Directory); }
public void LastWriteTime(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory("DIR"); DiscDirectoryInfo di = fs.GetDirectoryInfo("DIR"); DateTime baseTime = DateTime.Now - TimeSpan.FromMinutes(10); di.LastWriteTime = baseTime; fs.CreateDirectory(@"DIR\CHILD"); Assert.Less(baseTime, di.LastWriteTime); }
public void GetFiles(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory(@"SOMEDIR\CHILD\GCHILD"); fs.CreateDirectory(@"AAA.DIR"); using (Stream s = fs.OpenFile(@"FOO.TXT", FileMode.Create)) { } using (Stream s = fs.OpenFile(@"SOMEDIR\CHILD.TXT", FileMode.Create)) { } using (Stream s = fs.OpenFile(@"SOMEDIR\FOO.TXT", FileMode.Create)) { } using (Stream s = fs.OpenFile(@"SOMEDIR\CHILD\GCHILD\BAR.TXT", FileMode.Create)) { } Assert.AreEqual(1, fs.Root.GetFiles().Length); Assert.AreEqual("FOO.TXT", fs.Root.GetFiles()[0].FullName); Assert.AreEqual(2, fs.Root.GetDirectories("SOMEDIR")[0].GetFiles("*.TXT").Length); Assert.AreEqual(4, fs.Root.GetFiles("*.TXT", SearchOption.AllDirectories).Length); Assert.AreEqual(0, fs.Root.GetFiles("*.DIR", SearchOption.AllDirectories).Length); }
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 GetDirectories_BadPath(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.GetDirectories(@"\baddir"); }
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 GetFileSystemInfos(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory(@"SOMEDIR\CHILD\GCHILD"); fs.CreateDirectory(@"AAA.EXT"); using (Stream s = fs.OpenFile(@"FOO.TXT", FileMode.Create)) { } using (Stream s = fs.OpenFile(@"SOMEDIR\CHILD.EXT", FileMode.Create)) { } using (Stream s = fs.OpenFile(@"SOMEDIR\FOO.TXT", FileMode.Create)) { } using (Stream s = fs.OpenFile(@"SOMEDIR\CHILD\GCHILD\BAR.TXT", FileMode.Create)) { } Assert.AreEqual(3, fs.Root.GetFileSystemInfos().Length); Assert.AreEqual(1, fs.Root.GetFileSystemInfos("*.EXT").Length); Assert.AreEqual(2, fs.Root.GetFileSystemInfos("*.?XT").Length); }
public void Parent(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory("SOMEDIR"); Assert.AreEqual(fs.Root, fs.Root.GetDirectories("SOMEDIR")[0].Parent); }
public void Move(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory(@"SOMEDIR\CHILD\GCHILD"); fs.GetDirectoryInfo(@"SOMEDIR\CHILD").MoveTo("NEWDIR"); Assert.AreEqual(2, fs.Root.GetDirectories().Length); Assert.AreEqual(0, fs.Root.GetDirectories("SOMEDIR")[0].GetDirectories().Length); }
public void RootBehaviour(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); // Not all file systems can modify the root directory, so we just make sure 'get' and 'no-op' change work. fs.Root.Attributes = fs.Root.Attributes; fs.Root.CreationTimeUtc = fs.Root.CreationTimeUtc; fs.Root.LastAccessTimeUtc = fs.Root.LastAccessTimeUtc; fs.Root.LastWriteTimeUtc = fs.Root.LastWriteTimeUtc; }
public void Parent_Root(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); Assert.IsNull(fs.Root.Parent); }
public void CreateInvalid_Long(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscDirectoryInfo dirInfo = fs.GetDirectoryInfo(new String('X', 256)); dirInfo.Create(); }
public void CreateRecursive(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscDirectoryInfo dirInfo = fs.GetDirectoryInfo(@"SOMEDIR\CHILDDIR"); dirInfo.Create(); Assert.AreEqual(1, fs.Root.GetDirectories().Length); Assert.AreEqual(1, fs.GetDirectoryInfo(@"SOMEDIR").GetDirectories().Length); Assert.AreEqual("CHILDDIR", fs.GetDirectoryInfo(@"SOMEDIR").GetDirectories()[0].Name); }
public void CreationTimeUtc(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory("DIR"); Assert.GreaterOrEqual(DateTime.UtcNow, fs.Root.GetDirectories("DIR")[0].CreationTimeUtc); Assert.LessOrEqual(DateTime.UtcNow.Subtract(TimeSpan.FromSeconds(10)), fs.Root.GetDirectories("DIR")[0].CreationTimeUtc); }
public void CreateInvalid_Characters(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); DiscDirectoryInfo dirInfo = fs.GetDirectoryInfo("SOME\0DIR"); dirInfo.Create(); }
public void VolumeLabel(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); string volLabel = fs.VolumeLabel; Assert.NotNull(volLabel); }