public void ProjectsDiscovered()
{
var fs = new TestFileSystemDirectory("root",
new TestFileSystemDirectory("src",
new TestFileSystemDirectory("Module1",
new TestFileSystemDirectory("Project11")),
new TestFileSystemDirectory("Module2"),
new TestFileSystemDirectory("Module3",
new TestFileSystemDirectory("Project31"),
new TestFileSystemDirectory("Project32"))),
new TestFileSystemDirectory("output"));
var suite = new Suite(fs);
suite.Modules.Should().BeEmpty();
var discovery = new ModuleProjectDiscovery(fs);
discovery.ExtendWithDiscoveries(suite);
suite.Modules.Should().HaveCount(3);
suite.Modules.Should().OnlyContain(m => m.Name == "Module1" ||
m.Name == "Module2" ||
m.Name == "Module3");
suite.GetModule("Module1").Projects.Should().HaveCount(1);
suite.GetModule("Module1").Projects.Should().Contain(p => p.Name == "Project11");
suite.GetModule("Module2").Projects.Should().HaveCount(0);
suite.GetModule("Module3").Projects.Should().HaveCount(2);
suite.GetModule("Module3").Projects.Should().Contain(p => p.Name == "Project31");
suite.GetModule("Module3").Projects.Should().Contain(p => p.Name == "Project32");
}