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 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 Delete_Dir(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory("foo.txt"); fs.GetFileInfo("foo.txt").Delete(); }
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 DeleteNonEmpty_NonRecursive(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory(@"Fred\child"); fs.Root.GetDirectories(@"Fred")[0].Delete(); }
public void Parent(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory("SOMEDIR"); Assert.AreEqual(fs.Root, fs.Root.GetDirectories("SOMEDIR")[0].Parent); }
public void CreationTime(NewFileSystemDelegate fsFactory) { DiscFileSystem fs = fsFactory(); fs.CreateDirectory("DIR"); Assert.GreaterOrEqual(DateTime.Now, fs.Root.GetDirectories("DIR")[0].CreationTime); Assert.LessOrEqual(DateTime.Now.Subtract(TimeSpan.FromSeconds(10)), fs.Root.GetDirectories("DIR")[0].CreationTime); }
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 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 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 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 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 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 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); }