Skip to content

Commit fe00f94

Browse files
authored
Merge pull request #3215 from sharwell/record-naming
Update SA1649 to support record types
2 parents b63065b + 7adfdd5 commit fe00f94

File tree

3 files changed

+120
-31
lines changed

3 files changed

+120
-31
lines changed

StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp9/DocumentationRules/SA1649CSharp9UnitTests.cs

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,88 @@
33

44
namespace StyleCop.Analyzers.Test.CSharp9.DocumentationRules
55
{
6+
using System.Collections.Generic;
7+
using System.Threading.Tasks;
8+
using Microsoft.CodeAnalysis.CSharp;
69
using StyleCop.Analyzers.Test.CSharp8.DocumentationRules;
10+
using Xunit;
711

812
public class SA1649CSharp9UnitTests : SA1649CSharp8UnitTests
913
{
14+
public static IEnumerable<object[]> CSharp9TypeKeywords
15+
{
16+
get
17+
{
18+
foreach (var keyword in TypeKeywords)
19+
{
20+
yield return keyword;
21+
}
22+
23+
yield return new object[] { "record", LanguageVersion.CSharp9 };
24+
}
25+
}
26+
27+
[Theory]
28+
[MemberData(nameof(CSharp9TypeKeywords))]
29+
public override async Task VerifyWrongFileNameAsync(string typeKeyword, LanguageVersion languageVersion)
30+
{
31+
await base.VerifyWrongFileNameAsync(typeKeyword, languageVersion).ConfigureAwait(false);
32+
}
33+
34+
[Theory]
35+
[MemberData(nameof(CSharp9TypeKeywords))]
36+
public override async Task VerifyWrongFileNameMultipleExtensionsAsync(string typeKeyword, LanguageVersion languageVersion)
37+
{
38+
await base.VerifyWrongFileNameMultipleExtensionsAsync(typeKeyword, languageVersion).ConfigureAwait(false);
39+
}
40+
41+
[Theory]
42+
[MemberData(nameof(CSharp9TypeKeywords))]
43+
public override async Task VerifyWrongFileNameNoExtensionAsync(string typeKeyword, LanguageVersion languageVersion)
44+
{
45+
await base.VerifyWrongFileNameNoExtensionAsync(typeKeyword, languageVersion).ConfigureAwait(false);
46+
}
47+
48+
[Theory]
49+
[MemberData(nameof(CSharp9TypeKeywords))]
50+
public override async Task VerifyCaseInsensitivityAsync(string typeKeyword, LanguageVersion languageVersion)
51+
{
52+
await base.VerifyCaseInsensitivityAsync(typeKeyword, languageVersion).ConfigureAwait(false);
53+
}
54+
55+
[Theory]
56+
[MemberData(nameof(CSharp9TypeKeywords))]
57+
public override async Task VerifyFirstTypeIsUsedAsync(string typeKeyword, LanguageVersion languageVersion)
58+
{
59+
await base.VerifyFirstTypeIsUsedAsync(typeKeyword, languageVersion).ConfigureAwait(false);
60+
}
61+
62+
[Theory]
63+
[MemberData(nameof(CSharp9TypeKeywords))]
64+
public override async Task VerifyThatPartialTypesAreIgnoredAsync(string typeKeyword, LanguageVersion languageVersion)
65+
{
66+
await base.VerifyThatPartialTypesAreIgnoredAsync(typeKeyword, languageVersion).ConfigureAwait(false);
67+
}
68+
69+
[Theory]
70+
[MemberData(nameof(CSharp9TypeKeywords))]
71+
public override async Task VerifyStyleCopNamingConventionForGenericTypeAsync(string typeKeyword, LanguageVersion languageVersion)
72+
{
73+
await base.VerifyStyleCopNamingConventionForGenericTypeAsync(typeKeyword, languageVersion).ConfigureAwait(false);
74+
}
75+
76+
[Theory]
77+
[MemberData(nameof(CSharp9TypeKeywords))]
78+
public override async Task VerifyMetadataNamingConventionForGenericTypeAsync(string typeKeyword, LanguageVersion languageVersion)
79+
{
80+
await base.VerifyMetadataNamingConventionForGenericTypeAsync(typeKeyword, languageVersion).ConfigureAwait(false);
81+
}
82+
83+
[Theory]
84+
[MemberData(nameof(CSharp9TypeKeywords))]
85+
public override async Task VerifyMetadataNamingConventionForGenericTypeMultipleExtensionsAsync(string typeKeyword, LanguageVersion languageVersion)
86+
{
87+
await base.VerifyMetadataNamingConventionForGenericTypeMultipleExtensionsAsync(typeKeyword, languageVersion).ConfigureAwait(false);
88+
}
1089
}
1190
}

0 commit comments

Comments
 (0)