public void ShouldSkipNonSolutionFileIfExcludeMatch() { var solutionPath = RandomString.Make(); var projectPath = RandomString.Make(); var filesInProjectFile = new[] { RandomString.Make(), RandomString.Make() }; var nonSolutionFile = @"c:\something\me.txt"; var projectsInSolution = new ProjectsInSolutionStub(new[] { projectPath }); var filesInProject = new FilesInProjectStub(filesInProjectFile); var filesOnDisk = new FilesOnDiskStub(filesInProjectFile.Union(new[] { nonSolutionFile })); var target = new FindNonSolutionFiles(filesOnDisk, filesInProject, projectsInSolution); var result = target.Find(solutionPath, new[] {"something"}); result.Should().Be.Empty(); }
public void ShouldFindNonSolutionFileIfNoExcludeMatch() { var solutionPath = RandomString.Make(); var projectPath = RandomString.Make(); var filesInProjectFile = new[] { RandomString.Make(), RandomString.Make() }; var nonSolutionFile = RandomString.Make(); var projectsInSolution = new ProjectsInSolutionStub(new[] { projectPath }); var filesInProject = new FilesInProjectStub(filesInProjectFile); var filesOnDisk = new FilesOnDiskStub(filesInProjectFile.Union(new[] { nonSolutionFile })); var target = new FindNonSolutionFiles(filesOnDisk, filesInProject, projectsInSolution); var result = target.Find(solutionPath, new[] {RandomString.Make(), RandomString.Make()}); result.Should().Have.SameValuesAs(nonSolutionFile); }
public void ShouldNotFindNonSolutionFileIfExistInProjectFileWithDifferentCasing() { var solutionPath = RandomString.Make(); var projectPath = RandomString.Make(); var filesInProjectFile = new[] { "someThing"}; var nonSolutionFile = "SOMETHING"; var projectsInSolution = new ProjectsInSolutionStub(new[] { projectPath }); var filesInProject = new FilesInProjectStub(filesInProjectFile); var filesOnDisk = new FilesOnDiskStub(filesInProjectFile.Union(new[] { nonSolutionFile })); var target = new FindNonSolutionFiles(filesOnDisk, filesInProject, projectsInSolution); var result = target.Find(solutionPath, Enumerable.Empty<string>()); result.Should().Be.Empty(); }
static void Main(string[] args) { if (args.Length == 0) { Console.WriteLine("Usage:"); Console.WriteLine("NonSolutionFiles.exe [absolute path to your c# solution file] [excludeFileContaingString1] [excludeFileContainingString2] [...]"); } else { var solutionPath = args[0]; var exludeFilesContaining = args.Skip(1); var fileReader = new FileReader(); var findNonSolutionFiles = new FindNonSolutionFiles(new FilesOnDisk(), new FilesInProject(fileReader), new ProjectsInSolution(fileReader)); var deadFiles = findNonSolutionFiles.Find(solutionPath, exludeFilesContaining).ToArray(); foreach (var deadFile in deadFiles) { Console.WriteLine(deadFile); } Console.WriteLine(); Console.WriteLine($"Found {deadFiles.Count()} dead files!"); } }