public void FilesAreEnumerated() { using (var scenario = new DisposableFileSystem() .CreateFile("alpha.txt")) { var contents = scenario.DirectoryInfo.EnumerateFileSystemInfos(); var alphaTxt = contents.OfType<FileInfoBase>().Single(); Assert.Equal(1, contents.Count()); Assert.Equal("alpha.txt", alphaTxt.Name); } }
public void FoldersAreEnumerated() { using (var scenario = new DisposableFileSystem() .CreateFolder("beta")) { var contents1 = scenario.DirectoryInfo.EnumerateFileSystemInfos(); var beta = contents1.OfType<DirectoryInfoBase>().Single(); var contents2 = beta.EnumerateFileSystemInfos(); Assert.Equal(1, contents1.Count()); Assert.Equal("beta", beta.Name); Assert.Equal(0, contents2.Count()); } }
public void SubFoldersAreEnumerated() { using (var scenario = new DisposableFileSystem() .CreateFolder("beta") .CreateFile(Path.Combine("beta", "alpha.txt"))) { var contents1 = scenario.DirectoryInfo.EnumerateFileSystemInfos(); var beta = contents1.OfType<DirectoryInfoBase>().Single(); var contents2 = beta.EnumerateFileSystemInfos(); var alphaTxt = contents2.OfType<FileInfoBase>().Single(); Assert.Equal(1, contents1.Count()); Assert.Equal("beta", beta.Name); Assert.Equal(1, contents2.Count()); Assert.Equal("alpha.txt", alphaTxt.Name); } }
public void GetDirectoryCanTakeDotDot() { using (var scenario = new DisposableFileSystem() .CreateFolder("gamma") .CreateFolder("beta") .CreateFile(Path.Combine("beta", "alpha.txt"))) { var gamma = scenario.DirectoryInfo.GetDirectory("gamma"); var dotdot = gamma.GetDirectory(".."); var contents1 = dotdot.EnumerateFileSystemInfos(); var beta = dotdot.GetDirectory("beta"); var contents2 = beta.EnumerateFileSystemInfos(); var alphaTxt = contents2.OfType<FileInfoBase>().Single(); Assert.Equal("..", dotdot.Name); Assert.Equal(2, contents1.Count()); Assert.Equal("beta", beta.Name); Assert.Equal(1, contents2.Count()); Assert.Equal("alpha.txt", alphaTxt.Name); } }
public void TempFolderStartsInitiallyEmpty() { using (var scenario = new DisposableFileSystem()) { var contents = scenario.DirectoryInfo.EnumerateFileSystemInfos(); Assert.Equal(Path.GetFileName(scenario.RootPath), scenario.DirectoryInfo.Name); Assert.Equal(scenario.RootPath, scenario.DirectoryInfo.FullName); Assert.Equal(0, contents.Count()); } }
private DisposableFileSystem CreateContext() { var context = new DisposableFileSystem(); context.CreateFiles( "src/project/source1.cs", "src/project/sub/source2.cs", "src/project/sub/source3.cs", "src/project/sub2/source4.cs", "src/project/sub2/source5.cs", "src/project/compiler/preprocess/preprocess-source1.cs", "src/project/compiler/preprocess/sub/preprocess-source2.cs", "src/project/compiler/preprocess/sub/sub/preprocess-source3.cs", "src/project/compiler/preprocess/sub/sub/preprocess-source3.txt", "src/project/compiler/shared/shared1.cs", "src/project/compiler/shared/shared1.txt", "src/project/compiler/shared/sub/shared2.cs", "src/project/compiler/shared/sub/shared2.txt", "src/project/compiler/shared/sub/sub/sharedsub.cs", "src/project/compiler/resources/resource.res", "src/project/compiler/resources/sub/resource2.res", "src/project/compiler/resources/sub/sub/resource3.res", "src/project/content1.txt", "src/project/obj/object.o", "src/project/bin/object", "src/project/.hidden/file1.hid", "src/project/.hidden/sub/file2.hid", "src/project2/source1.cs", "src/project2/sub/source2.cs", "src/project2/sub/source3.cs", "src/project2/sub2/source4.cs", "src/project2/sub2/source5.cs", "src/project2/compiler/preprocess/preprocess-source1.cs", "src/project2/compiler/preprocess/sub/preprocess-source2.cs", "src/project2/compiler/preprocess/sub/sub/preprocess-source3.cs", "src/project2/compiler/preprocess/sub/sub/preprocess-source3.txt", "src/project2/compiler/shared/shared1.cs", "src/project2/compiler/shared/shared1.txt", "src/project2/compiler/shared/sub/shared2.cs", "src/project2/compiler/shared/sub/shared2.txt", "src/project2/compiler/shared/sub/sub/sharedsub.cs", "src/project2/compiler/resources/resource.res", "src/project2/compiler/resources/sub/resource2.res", "src/project2/compiler/resources/sub/sub/resource3.res", "src/project2/content1.txt", "src/project2/obj/object.o", "src/project2/bin/object", "lib/source6.cs", "lib/sub3/source7.cs", "lib/sub4/source8.cs", "res/resource1.text", "res/resource2.text", "res/resource3.text", ".hidden/file1.hid", ".hidden/sub/file2.hid"); return context; }
public FunctionalTests() { _context = CreateContext(); }