Skip to content

Commit 27ecc06

Browse files
committed
Simplify the specification of LanguageVersion for testing
1 parent 0f42e1f commit 27ecc06

20 files changed

Lines changed: 127 additions & 627 deletions

StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp7/LayoutRules/SA1505CSharp7UnitTests.cs

Lines changed: 3 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ namespace StyleCop.Analyzers.Test.CSharp7.LayoutRules
77
using System.Threading.Tasks;
88
using Microsoft.CodeAnalysis.CSharp;
99
using Microsoft.CodeAnalysis.Testing;
10-
using StyleCop.Analyzers.LayoutRules;
1110
using StyleCop.Analyzers.Test.LayoutRules;
12-
using StyleCop.Analyzers.Test.Verifiers;
1311
using Xunit;
14-
using static StyleCop.Analyzers.Test.Verifiers.CustomDiagnosticVerifier<StyleCop.Analyzers.LayoutRules.SA1505OpeningBracesMustNotBeFollowedByBlankLine>;
12+
using static StyleCop.Analyzers.Test.Verifiers.StyleCopCodeFixVerifier<
13+
StyleCop.Analyzers.LayoutRules.SA1505OpeningBracesMustNotBeFollowedByBlankLine,
14+
StyleCop.Analyzers.LayoutRules.SA1505CodeFixProvider>;
1515

1616
public class SA1505CSharp7UnitTests : SA1505UnitTests
1717
{
@@ -171,42 +171,5 @@ public unsafe void TestMethod()
171171
var expectedDiagnostic = Diagnostic().WithLocation(8, 13);
172172
await VerifyCSharpFixAsync(LanguageVersion.CSharp7_3, testCode, expectedDiagnostic, fixedTestCode, CancellationToken.None).ConfigureAwait(false);
173173
}
174-
175-
private static Task VerifyCSharpFixAsync(LanguageVersion languageVersion, string source, DiagnosticResult expected, string fixedSource, CancellationToken cancellationToken)
176-
{
177-
return VerifyCSharpFixAsync(languageVersion, source, new[] { expected }, fixedSource, cancellationToken);
178-
}
179-
180-
private static Task VerifyCSharpFixAsync(LanguageVersion languageVersion, string source, DiagnosticResult[] expected, string fixedSource, CancellationToken cancellationToken)
181-
{
182-
var test = new CSharpTest(languageVersion)
183-
{
184-
TestCode = source,
185-
FixedCode = fixedSource,
186-
};
187-
188-
if (source == fixedSource)
189-
{
190-
test.FixedState.InheritanceMode = StateInheritanceMode.AutoInheritAll;
191-
test.FixedState.MarkupHandling = MarkupMode.Allow;
192-
test.BatchFixedState.InheritanceMode = StateInheritanceMode.AutoInheritAll;
193-
test.BatchFixedState.MarkupHandling = MarkupMode.Allow;
194-
}
195-
196-
test.ExpectedDiagnostics.AddRange(expected);
197-
return test.RunAsync(cancellationToken);
198-
}
199-
200-
private class CSharpTest : StyleCopCodeFixVerifier<SA1505OpeningBracesMustNotBeFollowedByBlankLine, SA1505CodeFixProvider>.CSharpTest
201-
{
202-
public CSharpTest(LanguageVersion languageVersion)
203-
{
204-
this.SolutionTransforms.Add((solution, projectId) =>
205-
{
206-
var parseOptions = (CSharpParseOptions)solution.GetProject(projectId).ParseOptions;
207-
return solution.WithProjectParseOptions(projectId, parseOptions.WithLanguageVersion(languageVersion));
208-
});
209-
}
210-
}
211174
}
212175
}

StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp7/LayoutRules/SA1508CSharp7UnitTests.cs

Lines changed: 3 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ namespace StyleCop.Analyzers.Test.CSharp7.LayoutRules
77
using System.Threading.Tasks;
88
using Microsoft.CodeAnalysis.CSharp;
99
using Microsoft.CodeAnalysis.Testing;
10-
using StyleCop.Analyzers.LayoutRules;
1110
using StyleCop.Analyzers.Test.LayoutRules;
12-
using StyleCop.Analyzers.Test.Verifiers;
1311
using Xunit;
14-
using static StyleCop.Analyzers.Test.Verifiers.CustomDiagnosticVerifier<StyleCop.Analyzers.LayoutRules.SA1508ClosingBracesMustNotBePrecededByBlankLine>;
12+
using static StyleCop.Analyzers.Test.Verifiers.StyleCopCodeFixVerifier<
13+
StyleCop.Analyzers.LayoutRules.SA1508ClosingBracesMustNotBePrecededByBlankLine,
14+
StyleCop.Analyzers.LayoutRules.SA1508CodeFixProvider>;
1515

1616
public class SA1508CSharp7UnitTests : SA1508UnitTests
1717
{
@@ -171,42 +171,5 @@ public unsafe void TestMethod()
171171
var expectedDiagnostic = Diagnostic().WithLocation(13, 13);
172172
await VerifyCSharpFixAsync(LanguageVersion.CSharp7_3, testCode, expectedDiagnostic, fixedTestCode, CancellationToken.None).ConfigureAwait(false);
173173
}
174-
175-
private static Task VerifyCSharpFixAsync(LanguageVersion languageVersion, string source, DiagnosticResult expected, string fixedSource, CancellationToken cancellationToken)
176-
{
177-
return VerifyCSharpFixAsync(languageVersion, source, new[] { expected }, fixedSource, cancellationToken);
178-
}
179-
180-
private static Task VerifyCSharpFixAsync(LanguageVersion languageVersion, string source, DiagnosticResult[] expected, string fixedSource, CancellationToken cancellationToken)
181-
{
182-
var test = new CSharpTest(languageVersion)
183-
{
184-
TestCode = source,
185-
FixedCode = fixedSource,
186-
};
187-
188-
if (source == fixedSource)
189-
{
190-
test.FixedState.InheritanceMode = StateInheritanceMode.AutoInheritAll;
191-
test.FixedState.MarkupHandling = MarkupMode.Allow;
192-
test.BatchFixedState.InheritanceMode = StateInheritanceMode.AutoInheritAll;
193-
test.BatchFixedState.MarkupHandling = MarkupMode.Allow;
194-
}
195-
196-
test.ExpectedDiagnostics.AddRange(expected);
197-
return test.RunAsync(cancellationToken);
198-
}
199-
200-
private class CSharpTest : StyleCopCodeFixVerifier<SA1508ClosingBracesMustNotBePrecededByBlankLine, SA1508CodeFixProvider>.CSharpTest
201-
{
202-
public CSharpTest(LanguageVersion languageVersion)
203-
{
204-
this.SolutionTransforms.Add((solution, projectId) =>
205-
{
206-
var parseOptions = (CSharpParseOptions)solution.GetProject(projectId).ParseOptions;
207-
return solution.WithProjectParseOptions(projectId, parseOptions.WithLanguageVersion(languageVersion));
208-
});
209-
}
210-
}
211174
}
212175
}

StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp7/LayoutRules/SA1509CSharp7UnitTests.cs

Lines changed: 3 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ namespace StyleCop.Analyzers.Test.CSharp7.LayoutRules
77
using System.Threading.Tasks;
88
using Microsoft.CodeAnalysis.CSharp;
99
using Microsoft.CodeAnalysis.Testing;
10-
using StyleCop.Analyzers.LayoutRules;
1110
using StyleCop.Analyzers.Test.LayoutRules;
12-
using StyleCop.Analyzers.Test.Verifiers;
1311
using Xunit;
14-
using static StyleCop.Analyzers.Test.Verifiers.CustomDiagnosticVerifier<StyleCop.Analyzers.LayoutRules.SA1509OpeningBracesMustNotBePrecededByBlankLine>;
12+
using static StyleCop.Analyzers.Test.Verifiers.StyleCopCodeFixVerifier<
13+
StyleCop.Analyzers.LayoutRules.SA1509OpeningBracesMustNotBePrecededByBlankLine,
14+
StyleCop.Analyzers.LayoutRules.SA1509CodeFixProvider>;
1515

1616
public class SA1509CSharp7UnitTests : SA1509UnitTests
1717
{
@@ -158,42 +158,5 @@ public unsafe void TestMethod()
158158
var expectedDiagnostic = Diagnostic().WithLocation(9, 13);
159159
await VerifyCSharpFixAsync(LanguageVersion.CSharp7_3, testCode, expectedDiagnostic, fixedTestCode, CancellationToken.None).ConfigureAwait(false);
160160
}
161-
162-
private static Task VerifyCSharpFixAsync(LanguageVersion languageVersion, string source, DiagnosticResult expected, string fixedSource, CancellationToken cancellationToken)
163-
{
164-
return VerifyCSharpFixAsync(languageVersion, source, new[] { expected }, fixedSource, cancellationToken);
165-
}
166-
167-
private static Task VerifyCSharpFixAsync(LanguageVersion languageVersion, string source, DiagnosticResult[] expected, string fixedSource, CancellationToken cancellationToken)
168-
{
169-
var test = new CSharpTest(languageVersion)
170-
{
171-
TestCode = source,
172-
FixedCode = fixedSource,
173-
};
174-
175-
if (source == fixedSource)
176-
{
177-
test.FixedState.InheritanceMode = StateInheritanceMode.AutoInheritAll;
178-
test.FixedState.MarkupHandling = MarkupMode.Allow;
179-
test.BatchFixedState.InheritanceMode = StateInheritanceMode.AutoInheritAll;
180-
test.BatchFixedState.MarkupHandling = MarkupMode.Allow;
181-
}
182-
183-
test.ExpectedDiagnostics.AddRange(expected);
184-
return test.RunAsync(cancellationToken);
185-
}
186-
187-
private class CSharpTest : StyleCopCodeFixVerifier<SA1509OpeningBracesMustNotBePrecededByBlankLine, SA1509CodeFixProvider>.CSharpTest
188-
{
189-
public CSharpTest(LanguageVersion languageVersion)
190-
{
191-
this.SolutionTransforms.Add((solution, projectId) =>
192-
{
193-
var parseOptions = (CSharpParseOptions)solution.GetProject(projectId).ParseOptions;
194-
return solution.WithProjectParseOptions(projectId, parseOptions.WithLanguageVersion(languageVersion));
195-
});
196-
}
197-
}
198161
}
199162
}

StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp7/LayoutRules/SA1513CSharp7UnitTests.cs

Lines changed: 3 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ namespace StyleCop.Analyzers.Test.CSharp7.LayoutRules
77
using System.Threading.Tasks;
88
using Microsoft.CodeAnalysis.CSharp;
99
using Microsoft.CodeAnalysis.Testing;
10-
using StyleCop.Analyzers.LayoutRules;
1110
using StyleCop.Analyzers.Test.LayoutRules;
12-
using StyleCop.Analyzers.Test.Verifiers;
1311
using Xunit;
14-
using static StyleCop.Analyzers.Test.Verifiers.CustomDiagnosticVerifier<StyleCop.Analyzers.LayoutRules.SA1513ClosingBraceMustBeFollowedByBlankLine>;
12+
using static StyleCop.Analyzers.Test.Verifiers.StyleCopCodeFixVerifier<
13+
StyleCop.Analyzers.LayoutRules.SA1513ClosingBraceMustBeFollowedByBlankLine,
14+
StyleCop.Analyzers.LayoutRules.SA1513CodeFixProvider>;
1515

1616
public class SA1513CSharp7UnitTests : SA1513UnitTests
1717
{
@@ -200,37 +200,5 @@ public unsafe void TestMethod()
200200

201201
await VerifyCSharpFixAsync(LanguageVersion.CSharp7_3, testCode, DiagnosticResult.EmptyDiagnosticResults, testCode, CancellationToken.None).ConfigureAwait(false);
202202
}
203-
204-
private static Task VerifyCSharpFixAsync(LanguageVersion languageVersion, string source, DiagnosticResult[] expected, string fixedSource, CancellationToken cancellationToken)
205-
{
206-
var test = new CSharpTest(languageVersion)
207-
{
208-
TestCode = source,
209-
FixedCode = fixedSource,
210-
};
211-
212-
if (source == fixedSource)
213-
{
214-
test.FixedState.InheritanceMode = StateInheritanceMode.AutoInheritAll;
215-
test.FixedState.MarkupHandling = MarkupMode.Allow;
216-
test.BatchFixedState.InheritanceMode = StateInheritanceMode.AutoInheritAll;
217-
test.BatchFixedState.MarkupHandling = MarkupMode.Allow;
218-
}
219-
220-
test.ExpectedDiagnostics.AddRange(expected);
221-
return test.RunAsync(cancellationToken);
222-
}
223-
224-
private class CSharpTest : StyleCopCodeFixVerifier<SA1513ClosingBraceMustBeFollowedByBlankLine, SA1513CodeFixProvider>.CSharpTest
225-
{
226-
public CSharpTest(LanguageVersion languageVersion)
227-
{
228-
this.SolutionTransforms.Add((solution, projectId) =>
229-
{
230-
var parseOptions = (CSharpParseOptions)solution.GetProject(projectId).ParseOptions;
231-
return solution.WithProjectParseOptions(projectId, parseOptions.WithLanguageVersion(languageVersion));
232-
});
233-
}
234-
}
235203
}
236204
}

StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp7/MaintainabilityRules/SA1413CSharp7UnitTests.cs

Lines changed: 3 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ namespace StyleCop.Analyzers.Test.CSharp7.MaintainabilityRules
77
using System.Threading.Tasks;
88
using Microsoft.CodeAnalysis.CSharp;
99
using Microsoft.CodeAnalysis.Testing;
10-
using StyleCop.Analyzers.MaintainabilityRules;
1110
using StyleCop.Analyzers.Test.MaintainabilityRules;
12-
using StyleCop.Analyzers.Test.Verifiers;
1311
using Xunit;
14-
using static StyleCop.Analyzers.Test.Verifiers.CustomDiagnosticVerifier<StyleCop.Analyzers.MaintainabilityRules.SA1413UseTrailingCommasInMultiLineInitializers>;
12+
using static StyleCop.Analyzers.Test.Verifiers.StyleCopCodeFixVerifier<
13+
StyleCop.Analyzers.MaintainabilityRules.SA1413UseTrailingCommasInMultiLineInitializers,
14+
StyleCop.Analyzers.MaintainabilityRules.SA1413CodeFixProvider>;
1515

1616
public class SA1413CSharp7UnitTests : SA1413UnitTests
1717
{
@@ -108,37 +108,5 @@ public unsafe void TestMethod()
108108

109109
await VerifyCSharpFixAsync(LanguageVersion.CSharp7_3, testCode, expected, fixedCode, CancellationToken.None).ConfigureAwait(false);
110110
}
111-
112-
private static Task VerifyCSharpFixAsync(LanguageVersion languageVersion, string source, DiagnosticResult[] expected, string fixedSource, CancellationToken cancellationToken)
113-
{
114-
var test = new CSharpTest(languageVersion)
115-
{
116-
TestCode = source,
117-
FixedCode = fixedSource,
118-
};
119-
120-
if (source == fixedSource)
121-
{
122-
test.FixedState.InheritanceMode = StateInheritanceMode.AutoInheritAll;
123-
test.FixedState.MarkupHandling = MarkupMode.Allow;
124-
test.BatchFixedState.InheritanceMode = StateInheritanceMode.AutoInheritAll;
125-
test.BatchFixedState.MarkupHandling = MarkupMode.Allow;
126-
}
127-
128-
test.ExpectedDiagnostics.AddRange(expected);
129-
return test.RunAsync(cancellationToken);
130-
}
131-
132-
private class CSharpTest : StyleCopCodeFixVerifier<SA1413UseTrailingCommasInMultiLineInitializers, SA1413CodeFixProvider>.CSharpTest
133-
{
134-
public CSharpTest(LanguageVersion languageVersion)
135-
{
136-
this.SolutionTransforms.Add((solution, projectId) =>
137-
{
138-
var parseOptions = (CSharpParseOptions)solution.GetProject(projectId).ParseOptions;
139-
return solution.WithProjectParseOptions(projectId, parseOptions.WithLanguageVersion(languageVersion));
140-
});
141-
}
142-
}
143111
}
144112
}

StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp7/OrderingRules/SA1206CSharp7UnitTests.cs

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ namespace StyleCop.Analyzers.Test.CSharp7.OrderingRules
77
using System.Threading.Tasks;
88
using Microsoft.CodeAnalysis.CSharp;
99
using Microsoft.CodeAnalysis.Testing;
10-
using StyleCop.Analyzers.OrderingRules;
1110
using StyleCop.Analyzers.Test.OrderingRules;
12-
using StyleCop.Analyzers.Test.Verifiers;
13-
using TestHelper;
1411
using Xunit;
12+
using static StyleCop.Analyzers.Test.Verifiers.StyleCopCodeFixVerifier<
13+
StyleCop.Analyzers.OrderingRules.SA1206DeclarationKeywordsMustFollowOrder,
14+
StyleCop.Analyzers.OrderingRules.SA1206CodeFixProvider>;
1515

1616
public class SA1206CSharp7UnitTests : SA1206UnitTests
1717
{
@@ -32,7 +32,7 @@ public async Task TestReadonlyRefKeywordInStructDeclarationAsync(string keywords
3232
}}
3333
}}
3434
";
35-
await VerifyCSharpDiagnosticAsync(testCode, DiagnosticResult.EmptyDiagnosticResults, CancellationToken.None).ConfigureAwait(false);
35+
await VerifyCSharpDiagnosticAsync(LanguageVersion.Latest, testCode, DiagnosticResult.EmptyDiagnosticResults, CancellationToken.None).ConfigureAwait(false);
3636
}
3737

3838
[Fact]
@@ -51,29 +51,7 @@ readonly private struct BitHelper
5151
{
5252
Diagnostic().WithLocation(3, 14).WithArguments("private", "readonly"),
5353
};
54-
await VerifyCSharpDiagnosticAsync(testCode, expected, CancellationToken.None).ConfigureAwait(false);
55-
}
56-
57-
private static DiagnosticResult Diagnostic()
58-
=> StyleCopCodeFixVerifier<SA1206DeclarationKeywordsMustFollowOrder, SA1206CodeFixProvider>.Diagnostic();
59-
60-
private static Task VerifyCSharpDiagnosticAsync(string source, DiagnosticResult[] expected, CancellationToken cancellationToken)
61-
{
62-
var test = new StyleCopCodeFixVerifier<SA1206DeclarationKeywordsMustFollowOrder, SA1206CodeFixProvider>.CSharpTest
63-
{
64-
TestCode = source,
65-
SolutionTransforms =
66-
{
67-
(solution, projectId) =>
68-
{
69-
var parseOptions = (CSharpParseOptions)solution.GetProject(projectId).ParseOptions;
70-
return solution.WithProjectParseOptions(projectId, parseOptions.WithLanguageVersion(LanguageVersion.Latest));
71-
},
72-
},
73-
};
74-
75-
test.ExpectedDiagnostics.AddRange(expected);
76-
return test.RunAsync(cancellationToken);
54+
await VerifyCSharpDiagnosticAsync(LanguageVersion.Latest, testCode, expected, CancellationToken.None).ConfigureAwait(false);
7755
}
7856
}
7957
}

StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp7/OrderingRules/SA1207CSharp7UnitTests.cs

Lines changed: 3 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,11 @@ namespace StyleCop.Analyzers.Test.CSharp7.OrderingRules
66
using System.Threading;
77
using System.Threading.Tasks;
88
using Microsoft.CodeAnalysis.CSharp;
9-
using Microsoft.CodeAnalysis.Testing;
10-
using StyleCop.Analyzers.OrderingRules;
119
using StyleCop.Analyzers.Test.OrderingRules;
12-
using StyleCop.Analyzers.Test.Verifiers;
1310
using Xunit;
14-
using static StyleCop.Analyzers.Test.Verifiers.CustomDiagnosticVerifier<StyleCop.Analyzers.OrderingRules.SA1207ProtectedMustComeBeforeInternal>;
11+
using static StyleCop.Analyzers.Test.Verifiers.StyleCopCodeFixVerifier<
12+
StyleCop.Analyzers.OrderingRules.SA1207ProtectedMustComeBeforeInternal,
13+
StyleCop.Analyzers.OrderingRules.SA1207CodeFixProvider>;
1514

1615
public class SA1207CSharp7UnitTests : SA1207UnitTests
1716
{
@@ -39,42 +38,5 @@ public class TestClass
3938
var expectedDiagnostic = Diagnostic().WithArguments("private", "protected").WithLocation(5, 19);
4039
await VerifyCSharpFixAsync(LanguageVersion.CSharp7_2, testCode, expectedDiagnostic, fixedTestCode, CancellationToken.None).ConfigureAwait(false);
4140
}
42-
43-
private static Task VerifyCSharpFixAsync(LanguageVersion languageVersion, string source, DiagnosticResult expected, string fixedSource, CancellationToken cancellationToken)
44-
{
45-
return VerifyCSharpFixAsync(languageVersion, source, new[] { expected }, fixedSource, cancellationToken);
46-
}
47-
48-
private static Task VerifyCSharpFixAsync(LanguageVersion languageVersion, string source, DiagnosticResult[] expected, string fixedSource, CancellationToken cancellationToken)
49-
{
50-
var test = new CSharpTest(languageVersion)
51-
{
52-
TestCode = source,
53-
FixedCode = fixedSource,
54-
};
55-
56-
if (source == fixedSource)
57-
{
58-
test.FixedState.InheritanceMode = StateInheritanceMode.AutoInheritAll;
59-
test.FixedState.MarkupHandling = MarkupMode.Allow;
60-
test.BatchFixedState.InheritanceMode = StateInheritanceMode.AutoInheritAll;
61-
test.BatchFixedState.MarkupHandling = MarkupMode.Allow;
62-
}
63-
64-
test.ExpectedDiagnostics.AddRange(expected);
65-
return test.RunAsync(cancellationToken);
66-
}
67-
68-
private class CSharpTest : StyleCopCodeFixVerifier<SA1207ProtectedMustComeBeforeInternal, SA1207CodeFixProvider>.CSharpTest
69-
{
70-
public CSharpTest(LanguageVersion languageVersion)
71-
{
72-
this.SolutionTransforms.Add((solution, projectId) =>
73-
{
74-
var parseOptions = (CSharpParseOptions)solution.GetProject(projectId).ParseOptions;
75-
return solution.WithProjectParseOptions(projectId, parseOptions.WithLanguageVersion(languageVersion));
76-
});
77-
}
78-
}
7941
}
8042
}

0 commit comments

Comments
 (0)