public void Symbol_IsPublicApi() { var method = baseClassDeclaration.DescendantNodes().OfType <MethodDeclarationSyntax>() .First(m => m.Identifier.ValueText == "Method1"); var symbol = semanticModel.GetDeclaredSymbol(method); SymbolHelper.IsPubliclyAccessible(symbol).Should().BeTrue(); method = baseClassDeclaration.DescendantNodes().OfType <MethodDeclarationSyntax>() .First(m => m.Identifier.ValueText == "Method2"); symbol = semanticModel.GetDeclaredSymbol(method); symbol.IsPubliclyAccessible().Should().BeTrue(); var property = baseClassDeclaration.DescendantNodes().OfType <PropertyDeclarationSyntax>() .First(m => m.Identifier.ValueText == "Property"); symbol = semanticModel.GetDeclaredSymbol(property); symbol.IsPubliclyAccessible().Should().BeTrue(); property = interfaceDeclaration.DescendantNodes().OfType <PropertyDeclarationSyntax>() .First(m => m.Identifier.ValueText == "Property2"); symbol = semanticModel.GetDeclaredSymbol(property); symbol.IsPubliclyAccessible().Should().BeTrue(); property = derivedClassDeclaration1.DescendantNodes().OfType <PropertyDeclarationSyntax>() .First(m => m.Identifier.ValueText == "Property"); symbol = semanticModel.GetDeclaredSymbol(property); symbol.IsPubliclyAccessible().Should().BeFalse(); }
public void Symbol_IsPublicApi() { ISymbol symbol = this.testCode.GetMethodSymbol("Base.Method1"); SymbolHelper.IsPubliclyAccessible(symbol).Should().BeTrue(); symbol = this.testCode.GetMethodSymbol("Base.Method2"); symbol.IsPubliclyAccessible().Should().BeTrue(); symbol = this.testCode.GetPropertySymbol("Base.Property"); symbol.IsPubliclyAccessible().Should().BeTrue(); symbol = this.testCode.GetPropertySymbol("IInterface.Property2"); symbol.IsPubliclyAccessible().Should().BeTrue(); symbol = this.testCode.GetPropertySymbol("Derived1.Property"); symbol.IsPubliclyAccessible().Should().BeFalse(); }