@@ -6,6 +6,7 @@ namespace StyleCop.Analyzers.Test.DocumentationRules
66 using System . Threading ;
77 using System . Threading . Tasks ;
88 using Microsoft . CodeAnalysis . Testing ;
9+ using Microsoft . VisualBasic . Devices ;
910 using StyleCop . Analyzers . DocumentationRules ;
1011 using StyleCop . Analyzers . Test . Helpers ;
1112 using StyleCop . Analyzers . Test . Verifiers ;
@@ -98,6 +99,50 @@ public MyArgumentException(string message) : base(message) { }
9899 await VerifyCSharpDiagnosticAsync ( testCode , DiagnosticResult . EmptyDiagnosticResults , CancellationToken . None ) . ConfigureAwait ( false ) ;
99100 }
100101
102+ [ Theory ]
103+ [ MemberData ( nameof ( CommonMemberData . ReferenceTypeDeclarationKeywords ) , MemberType = typeof ( CommonMemberData ) ) ]
104+ public async Task TestConstructorInheritsButBaseCtorHasTheSameNumberOfParametersButNotMatchingSignaturesAsync ( string keyword )
105+ {
106+ var testCode = @"$KEYWORD$ Base
107+ {
108+ /// <summary>Base constructor.</summary>
109+ public Base(string s, string a) { }
110+ }
111+
112+ $KEYWORD$ Test : Base
113+ {
114+ /// <inheritdoc/>
115+ public Test(string s, int b)
116+ : base(s, b.ToString()) { }
117+ }
118+ " ;
119+
120+ var expected = Diagnostic ( ) . WithLocation ( 9 , 9 ) ;
121+ await VerifyCSharpDiagnosticAsync ( testCode . Replace ( "$KEYWORD$" , keyword ) , expected , CancellationToken . None ) . ConfigureAwait ( false ) ;
122+ }
123+
124+ [ Theory ]
125+ [ MemberData ( nameof ( CommonMemberData . ReferenceTypeDeclarationKeywords ) , MemberType = typeof ( CommonMemberData ) ) ]
126+ public async Task TestConstructorInheritsButBaseCtorHasDifferentNumberOfParametersAsync ( string keyword )
127+ {
128+ var testCode = @"$KEYWORD$ Base
129+ {
130+ /// <summary>Base constructor.</summary>
131+ public Base(string s) { }
132+ }
133+
134+ $KEYWORD$ Test : Base
135+ {
136+ /// <inheritdoc/>
137+ public Test(string s, int b)
138+ : base(s) { }
139+ }
140+ " ;
141+
142+ var expected = Diagnostic ( ) . WithLocation ( 9 , 9 ) ;
143+ await VerifyCSharpDiagnosticAsync ( testCode . Replace ( "$KEYWORD$" , keyword ) , expected , CancellationToken . None ) . ConfigureAwait ( false ) ;
144+ }
145+
101146 [ Fact ]
102147 public async Task TestClassOverridesClassAsync ( )
103148 {
0 commit comments