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();
        }
Пример #4
0
 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!");
     }
 }