public void EmptyProject(BuildalyzerProjectEnumeration subject)
        {
            var directory   = GetTemporaryDirectory();
            var projectPath = CreateProjectFile(directory);

            var filePaths = subject.EnumerateProjectFiles(projectPath);

            filePaths.Should().BeEmpty();
        }
        public void OneSampleJson(BuildalyzerProjectEnumeration subject)
        {
            var directory   = GetTemporaryDirectory();
            var filePath    = Create(directory, "sample.json");
            var projectPath = CreateProjectFile(directory);

            var filePaths = subject.EnumerateProjectFiles(projectPath);

            filePaths.Should().Equal(filePath);
        }
        public void OneMainCs(BuildalyzerProjectEnumeration subject)
        {
            var directory   = GetTemporaryDirectory();
            var filePath    = Create(directory, "main.cs");
            var projectPath = CreateProjectFile(directory);

            var filePaths = subject.EnumerateProjectFiles(projectPath);

            filePaths.Should().Equal(filePath);
        }
        public void IgnoreBinDirectory(string binDir, BuildalyzerProjectEnumeration subject)
        {
            var directory = GetTemporaryDirectory();

            Create(directory, binDir, "file.json");
            var projectPath = CreateProjectFile(directory);

            var filePaths = subject.EnumerateProjectFiles(projectPath);

            filePaths.Should().BeEmpty();
        }
        public void MultipleFilesInSubdirectories(BuildalyzerProjectEnumeration subject)
        {
            var    directory   = GetTemporaryDirectory();
            string filePath1   = Create(directory, "sub1", "file1.json");
            string filePath2   = Create(directory, "sub2", "file2.cs");
            var    projectPath = CreateProjectFile(directory);

            var filePaths = subject.EnumerateProjectFiles(projectPath);

            filePaths.Should().BeEquivalentTo(filePath1, filePath2);
        }
        public void EmbeddedAndLinkedFile(BuildalyzerProjectEnumeration subject)
        {
            var otherDirectory = GetTemporaryDirectory();
            var otherDirName   = Path.GetFileName(otherDirectory);
            var filePath       = Create(otherDirectory, "sample.json");
            var directory      = GetTemporaryDirectory();
            var link           = $"<EmbeddedResource " +
                                 $" Include=\"..\\{otherDirName}\\sample.json\" " +
                                 $" Link=\"FakeDirectory\\sample.json\" />";
            var projectPath = CreateProjectFile(directory, link);

            var filePaths = subject.EnumerateProjectFiles(projectPath);

            filePaths.Should().Equal(filePath);
        }