public void FilesAreEnumerated() { using (var scenario = new DisposableFileSystem() .CreateFile("alpha.txt")) { var contents = new DirectoryInfoWrapper(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 = new DirectoryInfoWrapper(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 = new DirectoryInfoWrapper(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 bool Build() { var projectFilesFinder = new Matcher(); // Resolve all the project names var projectFilesToBuild = new List<string>(); foreach (var pattern in _buildOptions.ProjectPatterns) { if (pattern.Contains("*")) { // Requires globbing projectFilesFinder.AddInclude(NormalizeGlobbingPattern(pattern)); } else { projectFilesToBuild.Add(pattern); } } var rootDirectory = Directory.GetCurrentDirectory(); var patternSearchFolder = new DirectoryInfoWrapper(new DirectoryInfo(rootDirectory)); var globbingProjects = projectFilesFinder.Execute(patternSearchFolder).Files.Select(file => Path.Combine(rootDirectory, file.Path)); projectFilesToBuild.AddRange(globbingProjects); var sw = Stopwatch.StartNew(); var globalSucess = true; foreach (var project in projectFilesToBuild) { var buildSuccess = BuildInternal(project); globalSucess &= buildSuccess; } _buildOptions.Reports.Information.WriteLine($"Total build time elapsed: { sw.Elapsed }"); _buildOptions.Reports.Information.WriteLine($"Total projects built: { projectFilesToBuild.Count }"); return globalSucess; }
public void GetDirectoryCanTakeDotDot() { using (var scenario = new DisposableFileSystem() .CreateFolder("gamma") .CreateFolder("beta") .CreateFile(Path.Combine("beta", "alpha.txt"))) { var directoryInfoBase = new DirectoryInfoWrapper(scenario.DirectoryInfo); var gamma = directoryInfoBase.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); } }
private void AddPackageFiles(string projectDirectory, IEnumerable<PackIncludeEntry> packageFiles, PackageBuilder packageBuilder, IList<DiagnosticMessage> diagnostics) { var rootDirectory = new DirectoryInfoWrapper(new DirectoryInfo(projectDirectory)); foreach (var match in CollectAdditionalFiles(rootDirectory, packageFiles, _currentProject.ProjectFilePath, diagnostics)) { packageBuilder.Files.Add(match); } }
public DisposableFileSystem() { RootPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); Directory.CreateDirectory(RootPath); DirectoryInfo = new DirectoryInfoWrapper(new DirectoryInfo(RootPath)); }