Skip to content

Commit 31643cf

Browse files
committed
Test records as well
1 parent 5ecef98 commit 31643cf

1 file changed

Lines changed: 26 additions & 18 deletions

File tree

StyleCop.Analyzers/StyleCop.Analyzers.Test/DocumentationRules/SA1648UnitTests.cs

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)