Bari.Core.Test.Discovery.ModuleProjectDiscoveryTest.ExistingSourcesMergedWithDiscoveredOnes C# (CSharp) Method

ExistingSourcesMergedWithDiscoveredOnes() private method

private ExistingSourcesMergedWithDiscoveredOnes ( ) : void
return void
        public void ExistingSourcesMergedWithDiscoveredOnes()
        {
            var fs = CreateFsWithSources();

            var suite = new Suite(fs);

            var fsSet = suite.GetModule("Module1").GetProject("Project11").GetSourceSet("fs");
            var vbSet = suite.GetModule("Module1").GetProject("Project11").GetSourceSet("vb");

            fsSet.Add(new SuiteRelativePath(Path.Combine("src", "Module1", "Project11", "fs", "b.fs")));
            vbSet.Add(new SuiteRelativePath(Path.Combine("src", "Module1", "Project11", "vb", "x.vb")));

            var discovery = new ModuleProjectDiscovery(fs);
            discovery.ExtendWithDiscoveries(suite);

            var project = suite.GetModule("Module1").GetProject("Project11");
            project.SourceSets.Should().HaveCount(3);
            project.SourceSets.Should().Contain(set => set.Type == "cs");
            project.SourceSets.Should().Contain(set => set.Type == "fs");
            project.SourceSets.Should().Contain(set => set.Type == "vb");

            var csSet = project.GetSourceSet("cs");
            fsSet = project.GetSourceSet("fs");
            vbSet = project.GetSourceSet("vb");

            csSet.Files.Should().HaveCount(3);
            csSet.Files.Should().Contain(new SuiteRelativePath(Path.Combine("src", "Module1", "Project11", "cs", "source1.cs")));
            csSet.Files.Should().Contain(new SuiteRelativePath(Path.Combine("src", "Module1", "Project11", "cs", "source2.cs")));
            csSet.Files.Should().Contain(new SuiteRelativePath(Path.Combine("src", "Module1", "Project11", "cs", "subdir", "source3.cs")));

            fsSet.Files.Should().HaveCount(2);
            fsSet.Files.Should().Contain(new SuiteRelativePath(Path.Combine("src", "Module1", "Project11", "fs", "a.fs")));
            fsSet.Files.Should().Contain(new SuiteRelativePath(Path.Combine("src", "Module1", "Project11", "fs", "b.fs")));

            vbSet.Files.Should().HaveCount(1);
            vbSet.Files.Should().HaveElementAt(0, new SuiteRelativePath(Path.Combine("src", "Module1", "Project11", "vb", "x.vb")));
        }