示例#1
0
        public async Task CanLoadSolution()
        {
            var fileSystem = Mocks.MockFileSystem();

            var loader = new WorkspaceLoader(fileSystem);

            var workspace = await loader.LoadAsync(MockHotel.Solution.FilePath);

            Assert.NotNull(workspace.CurrentSolution);

            var projects = workspace.CurrentSolution.Projects.ToArray();

            Assert.Equal(3, projects.Length);

            var hotelProject = projects.FirstOrDefault(p => p.Name == "Hotel");

            Assert.NotNull(hotelProject);

            var compilation = await hotelProject.GetCompilationAsync();

            Assert.NotNull(compilation);

            var hotelServiceSymbol = compilation.GetTypeByMetadataName("Hotel.IHotelService");

            Assert.NotNull(hotelServiceSymbol);

            var attribute = hotelServiceSymbol.GetAttributes().FirstOrDefault()?.AttributeClass;

            Assert.NotNull(attribute);
            Assert.Equal("ServiceContractAttribute", attribute.Name);
            Assert.Equal("System.ServiceModel", attribute.ContainingNamespace.ToString());
        }
        public async Task CanLoadSolution()
        {
            var loader = new WorkspaceLoader();

            var workspace = await loader.LoadAsync(@"D:\RendleLabs\LegacyWorkspaceLoader\data\Hotel\Hotel.sln");

            Assert.NotNull(workspace.CurrentSolution);

            var projects = workspace.CurrentSolution.Projects.ToArray();

            Assert.Equal(5, projects.Length);

            var hotelProject = projects.FirstOrDefault(p => p.Name == "Hotel");

            Assert.NotNull(hotelProject);

            var compilation = await hotelProject.GetCompilationAsync();

            Assert.NotNull(compilation);

            var hotelServiceSymbol = compilation.GetTypeByMetadataName("Hotel.IHotelService");

            Assert.NotNull(hotelServiceSymbol);

            var attribute = hotelServiceSymbol.GetAttributes().FirstOrDefault()?.AttributeClass;

            Assert.NotNull(attribute);
            Assert.Equal("ServiceContractAttribute", attribute.Name);
            Assert.Equal("System.ServiceModel", attribute.ContainingNamespace.ToString());

            var featureProject = projects.FirstOrDefault(p => p.Name == "Hotel.Feature");

            Assert.NotNull(featureProject);

            compilation = await featureProject.GetCompilationAsync();

            Assert.NotNull(compilation);

            var featureSymbol = compilation.GetTypeByMetadataName("Hotel.Feature.HotelFeature");

            Assert.NotNull(featureSymbol);
        }