/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Compilers/CSharp/Test/Symbol/DocumentationComments/ConstructorDocumentationCommentTests.cs
84 строки
3 KB
Jared Parsons
generated move
28 сен 2020, 19:36
28 сен 2020, 19:36
1cca63b
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. #nullable disable using System.Linq; using Microsoft.CodeAnalysis.CSharp.Symbols; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.CSharp.Test.Utilities; using Microsoft.CodeAnalysis.Text; using Xunit; namespace Microsoft.CodeAnalysis.CSharp.UnitTests { public class ConstructorDocumentationCommentTests : CSharpTestBase { private readonly CSharpCompilation _compilation; private readonly NamespaceSymbol _acmeNamespace; private readonly NamedTypeSymbol _widgetClass; public ConstructorDocumentationCommentTests() { _compilation = CreateCompilationWithMscorlib40AndDocumentationComments(@"namespace Acme { class Widget: IProcess { /// <summary>Static Constructor</summary> static Widget() {...} /** <summary>Instance Constructor</summary> */ public Widget() {...} /// <summary> /// Parameterized Constructor /// </summary> /// <param name=""s"">s, the string argument</param> public Widget(string s) {...} } } "); _acmeNamespace = (NamespaceSymbol)_compilation.GlobalNamespace.GetMembers("Acme").Single(); _widgetClass = _acmeNamespace.GetTypeMembers("Widget").Single(); } [Fact] public void TestStaticConstructor() { var staticConstructorSymbol = _widgetClass.GetMembers(WellKnownMemberNames.StaticConstructorName).Single(); Assert.Equal("M:Acme.Widget.#cctor", staticConstructorSymbol.GetDocumentationCommentId()); Assert.Equal( @"<member name=""M:Acme.Widget.#cctor""> <summary>Static Constructor</summary> </member> ", staticConstructorSymbol.GetDocumentationCommentXml()); } [Fact] public void TestConstructor() { var constructorSymbol = _widgetClass.InstanceConstructors.Single(c => !c.IsStatic && c.Parameters.Length == 0); Assert.Equal("M:Acme.Widget.#ctor", constructorSymbol.GetDocumentationCommentId()); Assert.Equal( @"<member name=""M:Acme.Widget.#ctor""> <summary>Instance Constructor</summary> </member> ", constructorSymbol.GetDocumentationCommentXml()); } [Fact] public void TestConstructorWithParameter() { var parameterizedConstructorSymbol = _widgetClass.InstanceConstructors.Single(c => !c.IsStatic && c.Parameters.Length == 1); Assert.Equal("M:Acme.Widget.#ctor(System.String)", parameterizedConstructorSymbol.GetDocumentationCommentId()); Assert.Equal( @"<member name=""M:Acme.Widget.#ctor(System.String)""> <summary> Parameterized Constructor </summary> <param name=""s"">s, the string argument</param> </member> ", parameterizedConstructorSymbol.GetDocumentationCommentXml()); } } }