@@ -7,6 +7,7 @@ namespace StyleCop.Analyzers.Test.DocumentationRules
77 using System . Threading . Tasks ;
88 using Microsoft . CodeAnalysis . Testing ;
99 using StyleCop . Analyzers . DocumentationRules ;
10+ using StyleCop . Analyzers . Test . Helpers ;
1011 using StyleCop . Analyzers . Test . Verifiers ;
1112 using Xunit ;
1213 using static StyleCop . Analyzers . Test . Verifiers . CustomDiagnosticVerifier < StyleCop . Analyzers . DocumentationRules . SA1648InheritDocMustBeUsedWithInheritingClass > ;
@@ -16,66 +17,70 @@ namespace StyleCop.Analyzers.Test.DocumentationRules
1617 /// </summary>
1718 public class SA1648UnitTests
1819 {
19- [ Fact ]
20- public async Task TestConstructorWithNoParametersInheritsFromParentAsync ( )
20+ [ Theory ]
21+ [ MemberData ( nameof ( CommonMemberData . ReferenceTypeDeclarationKeywords ) , MemberType = typeof ( CommonMemberData ) ) ]
22+ public async Task TestConstructorWithNoParametersInheritsFromParentAsync ( string keyword )
2123 {
22- var testCode = @"class Base
24+ var testCode = @"$KEYWORD$ Base
2325{
2426 /// <summary>Base constructor.</summary>
2527 public Base() { }
2628}
2729
28- class Test : Base
30+ $KEYWORD$ Test : Base
2931{
3032 /// <inheritdoc/>
3133 public Test() { }
3234}" ;
3335
34- await VerifyCSharpDiagnosticAsync ( testCode , DiagnosticResult . EmptyDiagnosticResults , CancellationToken . None ) . ConfigureAwait ( false ) ;
36+ await VerifyCSharpDiagnosticAsync ( testCode . Replace ( "$KEYWORD$" , keyword ) , DiagnosticResult . EmptyDiagnosticResults , CancellationToken . None ) . ConfigureAwait ( false ) ;
3537 }
3638
37- [ Fact ]
38- public async Task TestConstructorWithParametersInheritsFromParentAsync ( )
39+ [ Theory ]
40+ [ MemberData ( nameof ( CommonMemberData . ReferenceTypeDeclarationKeywords ) , MemberType = typeof ( CommonMemberData ) ) ]
41+ public async Task TestConstructorWithParametersInheritsFromParentAsync ( string keyword )
3942 {
40- var testCode = @"class Base
43+ var testCode = @"$KEYWORD$ Base
4144{
4245 /// <summary>Base constructor.</summary>
4346 public Base(string s, int a) { }
4447}
4548
46- class Test : Base
49+ $KEYWORD$ Test : Base
4750{
4851 /// <inheritdoc/>
4952 public Test(string s, int b)
5053 : base(s, b) { }
5154}
5255" ;
5356
54- await VerifyCSharpDiagnosticAsync ( testCode , DiagnosticResult . EmptyDiagnosticResults , CancellationToken . None ) . ConfigureAwait ( false ) ;
57+ await VerifyCSharpDiagnosticAsync ( testCode . Replace ( "$KEYWORD$" , keyword ) , DiagnosticResult . EmptyDiagnosticResults , CancellationToken . None ) . ConfigureAwait ( false ) ;
5558 }
5659
57- [ Fact ]
58- public async Task TestConstructorInheritsImplicitlyFromSystemObjectAsync ( )
60+ [ Theory ]
61+ [ MemberData ( nameof ( CommonMemberData . ReferenceTypeDeclarationKeywords ) , MemberType = typeof ( CommonMemberData ) ) ]
62+ public async Task TestConstructorInheritsImplicitlyFromSystemObjectAsync ( string keyword )
5963 {
60- var testCode = @"class Test
64+ var testCode = @"$KEYWORD$ Test
6165{
6266 /// <inheritdoc/>
6367 public Test() { }
6468}" ;
6569
66- await VerifyCSharpDiagnosticAsync ( testCode , DiagnosticResult . EmptyDiagnosticResults , CancellationToken . None ) . ConfigureAwait ( false ) ;
70+ await VerifyCSharpDiagnosticAsync ( testCode . Replace ( "$KEYWORD$" , keyword ) , DiagnosticResult . EmptyDiagnosticResults , CancellationToken . None ) . ConfigureAwait ( false ) ;
6771 }
6872
69- [ Fact ]
70- public async Task TestConstructorInheritsExplicitlyFromSystemObjectAsync ( )
73+ [ Theory ]
74+ [ MemberData ( nameof ( CommonMemberData . ReferenceTypeDeclarationKeywords ) , MemberType = typeof ( CommonMemberData ) ) ]
75+ public async Task TestConstructorInheritsExplicitlyFromSystemObjectAsync ( string keyword )
7176 {
72- var testCode = @"class Test : System.Object
77+ var testCode = @"$KEYWORD$ Test : System.Object
7378{
7479 /// <inheritdoc/>
7580 public Test() { }
7681}" ;
7782
78- await VerifyCSharpDiagnosticAsync ( testCode , DiagnosticResult . EmptyDiagnosticResults , CancellationToken . None ) . ConfigureAwait ( false ) ;
83+ await VerifyCSharpDiagnosticAsync ( testCode . Replace ( "$KEYWORD$" , keyword ) , DiagnosticResult . EmptyDiagnosticResults , CancellationToken . None ) . ConfigureAwait ( false ) ;
7984 }
8085
8186 [ Fact ]
@@ -85,6 +90,9 @@ public async Task TestConstructorInheritsExplicitlyFromTypeInDifferentAssemblyAs
8590{
8691 /// <inheritdoc/>
8792 public MyArgumentException() { }
93+
94+ /// <inheritdoc/>
95+ public MyArgumentException(string message) : base(message) { }
8896}" ;
8997
9098 await VerifyCSharpDiagnosticAsync ( testCode , DiagnosticResult . EmptyDiagnosticResults , CancellationToken . None ) . ConfigureAwait ( false ) ;
0 commit comments