public void OneLevelMultiRelativeFolder_HasCorrectFullPath() { var baseFolder = Path.Combine(_current, "Base"); var expected = Path.Combine(_current, "Base", "Sub1", "SubSub1"); var absoluteFolder = new AbsoluteFfolder(baseFolder); var subFolder = new RelativeFfolder(absoluteFolder, @"Sub1\SubSub1"); Assert.AreEqual(expected, subFolder.FullPath); }
public void IFfolderConstructor_ConstructsFromAbsolute() { var baseFolder = Path.Combine(_current, "Base"); IFfolder absoluteFolder = new AbsoluteFfolder(baseFolder); var sub1 = new RelativeFfolder(absoluteFolder, "Sub1"); Assert.AreEqual("Sub1", sub1.Relative.Name); Assert.AreEqual(baseFolder, sub1.Absolute.FullPath); }
public void ThreeLevelAbsoluteFolder_HasCorrectFiles() { var absoluteFolder = new AbsoluteFfolder(_current); var relativeFolder = new RelativeFfolder(absoluteFolder, "Base"); var files = relativeFolder.GetFiles("*.*", SearchOption.AllDirectories).ToList(); Assert.AreEqual(4, files.Count); Assert.IsTrue(files.Contains(new Ffile(relativeFolder, "file1.txt"))); Assert.IsTrue(files.Contains(new Ffile(new RelativeFfolder(relativeFolder, "Sub1"), "sfile1.txt"))); Assert.IsTrue(files.Contains(new Ffile(new RelativeFfolder(relativeFolder, @"Sub1\SubSub1"), "ssfile1.txt"))); Assert.IsTrue(files.Contains(new Ffile(new RelativeFfolder(relativeFolder, @"Sub1\SubSub1\SubSubSub1"), "sssfile1.txt"))); }
public void ThreeLevelRelativeFolder_HasCorrectFullPath() { var baseFolder = Path.Combine(_current, "Base"); var expected = Path.Combine(_current, "Base", "Sub1", "SubSub1", "SubSubSub1"); var absoluteFolder = new AbsoluteFfolder(baseFolder); var subFolder = new RelativeFfolder(absoluteFolder, "Sub1"); var subSubFolder = new RelativeFfolder(subFolder, "SubSub1"); var subSubSubFolder = new RelativeFfolder(subSubFolder, "SubSubSub1"); Assert.AreEqual(expected, subSubSubFolder.FullPath); Assert.AreEqual("SubSubSub1", subSubSubFolder.Name); Assert.AreEqual(subSubFolder, subSubSubFolder.Parent); Assert.AreEqual(baseFolder, subSubSubFolder.Absolute.FullPath); }
public void IFfolderConstructor_ConstructsFromRelativeLevel3() { var baseFolder = Path.Combine(_current, "Base"); IFfolder absoluteFolder = new AbsoluteFfolder(baseFolder); RelativeFfolder sub1 = new RelativeFfolder(absoluteFolder, "Sub1"); RelativeFfolder subSub1 = new RelativeFfolder(sub1, "SubSub1"); var subSubSub1 = new RelativeFfolder(subSub1 as IFfolder, "SubSubSub1"); Assert.IsNotNull(sub1.Relative); Assert.IsNotNull(subSubSub1.Relative); Assert.IsNotNull(subSub1.Relative); Assert.AreEqual(sub1, subSub1.Parent); Assert.AreEqual(subSub1, subSubSub1.Parent); Assert.AreEqual("SubSubSub1", subSubSub1.Name); Assert.AreEqual(baseFolder, sub1.Absolute.FullPath); Assert.AreEqual(baseFolder, subSub1.Absolute.FullPath); Assert.AreEqual(baseFolder, subSubSub1.Absolute.FullPath); }
public void Test() { var root = new AbsoluteFfolder(Directory.GetCurrentDirectory()); var folder = new RelativeFfolder(root, "folder"); foreach (var subFolder in folder.GetFolders("*.*", SearchOption.AllDirectories)) { WriteLine(subFolder.Name); WriteLine("\t" + subFolder.RelativePath); WriteLine("\t" + subFolder.FullPath); WriteLine("\t" + subFolder.Absolute.FullPath); } foreach (var file in folder.GetFiles("*.*", SearchOption.AllDirectories)) { WriteLine(file.Name); WriteLine("\t" + file.NameWithoutExtension); WriteLine("\t" + file.RelativePath); WriteLine("\t" + file.RelativePathWithoutExtension); WriteLine("\t" + file.FullPath); WriteLine("\t" + file.Folder.FullPath); WriteLine("\t" + file.Folder.Absolute.FullPath); WriteLine("\t" + file.Folder.Relative.FullPath); } /* output: * subFolder1 * folder\subFolder1 * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48\folder\subFolder1 * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48 * subFolder2 * folder\subFolder2 * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48\folder\subFolder2 * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48 * subFolder1\subSubFolder * folder\subFolder1\subSubFolder * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48\folder\subFolder1\subSubFolder * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48 * file1.txt * file1 * folder\file1.txt * folder\file1 * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48\folder\file1.txt * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48\folder * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48 * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48\folder * file1-1.txt * file1-1 * folder\subFolder1\file1-1.txt * folder\subFolder1\file1-1 * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48\folder\subFolder1\file1-1.txt * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48\folder\subFolder1 * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48 * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48\folder\subFolder1 * file1-1-1.txt * file1-1-1 * folder\subFolder1\subSubFolder\file1-1-1.txt * folder\subFolder1\subSubFolder\file1-1-1 * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48\folder\subFolder1\subSubFolder\file1-1-1.txt * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48\folder\subFolder1\subSubFolder * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48 * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48\folder\subFolder1\subSubFolder * file2-1.txt * file2-1 * folder\subFolder2\file2-1.txt * folder\subFolder2\file2-1 * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48\folder\subFolder2\file2-1.txt * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48\folder\subFolder2 * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48 * C:\Users\rpoutsma\Desktop\Markdown\Ffo\Ffo.UnitTest\bin\Debug\net48\folder\subFolder2 */ }