From f84ed7f744e55ec0d464112411817afe24a38dc0 Mon Sep 17 00:00:00 2001 From: Sam Harwell Date: Wed, 10 Nov 2021 09:07:53 -0800 Subject: [PATCH] Use reference assemblies for index and range --- .../SpacingRules/SA1008CSharp8UnitTests.cs | 23 +++++++--------- .../SpacingRules/SA1009CSharp8UnitTests.cs | 16 +++++++---- .../Verifiers/SpecialTypeDefinitions.cs | 27 ------------------- 3 files changed, 21 insertions(+), 45 deletions(-) delete mode 100644 StyleCop.Analyzers/StyleCop.Analyzers.Test/Verifiers/SpecialTypeDefinitions.cs diff --git a/StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp8/SpacingRules/SA1008CSharp8UnitTests.cs b/StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp8/SpacingRules/SA1008CSharp8UnitTests.cs index 93df4425d..36b16dd72 100644 --- a/StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp8/SpacingRules/SA1008CSharp8UnitTests.cs +++ b/StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp8/SpacingRules/SA1008CSharp8UnitTests.cs @@ -30,7 +30,7 @@ public class SA1008CSharp8UnitTests : SA1008CSharp7UnitTests [Fact] public async Task TestAfterRangeExpressionAsync() { - var testCode = SpecialTypeDefinitions.IndexAndRange + @" + var testCode = @" namespace TestNamespace { using System; @@ -40,13 +40,13 @@ public string TestMethod() { string str = ""test""; int finalLen = 4; - return str[.. (finalLen - 1)]; + return str[.. {|#0:(|}finalLen - 1)]; } } } "; - var fixedCode = SpecialTypeDefinitions.IndexAndRange + @" + var fixedCode = @" namespace TestNamespace { using System; @@ -61,17 +61,14 @@ public string TestMethod() } } "; - var expectedResults = new DiagnosticResult[] - { - Diagnostic(DescriptorNotPreceded).WithLocation(28, 27), - }; - await VerifyCSharpFixAsync( - LanguageVersion.CSharp8, - testCode, - expectedResults, - fixedCode, - CancellationToken.None).ConfigureAwait(false); + await new CSharpTest(LanguageVersion.CSharp8) + { + ReferenceAssemblies = ReferenceAssemblies.NetCore.NetCoreApp31, + TestCode = testCode, + ExpectedDiagnostics = { Diagnostic(DescriptorNotPreceded).WithLocation(0) }, + FixedCode = fixedCode, + }.RunAsync(CancellationToken.None).ConfigureAwait(false); } [Fact] diff --git a/StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp8/SpacingRules/SA1009CSharp8UnitTests.cs b/StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp8/SpacingRules/SA1009CSharp8UnitTests.cs index 9030b25e6..b8608db95 100644 --- a/StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp8/SpacingRules/SA1009CSharp8UnitTests.cs +++ b/StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp8/SpacingRules/SA1009CSharp8UnitTests.cs @@ -167,7 +167,7 @@ public IDisposable Service() [WorkItem(3064, "https://github.com/DotNetAnalyzers/StyleCopAnalyzers/issues/3064")] public async Task TestBeforeRangeExpressionAsync() { - var testCode = SpecialTypeDefinitions.IndexAndRange + @" + var testCode = @" namespace TestNamespace { using System; @@ -177,13 +177,13 @@ public string TestMethod() { string str = ""test""; int startLen = 4; - return str[(startLen - 1) ..]; + return str[(startLen - 1{|#0:)|} ..]; } } } "; - var fixedCode = SpecialTypeDefinitions.IndexAndRange + @" + var fixedCode = @" namespace TestNamespace { using System; @@ -198,8 +198,14 @@ public string TestMethod() } } "; - DiagnosticResult expected = Diagnostic(DescriptorNotFollowed).WithSpan(28, 37, 28, 38); - await VerifyCSharpFixAsync(LanguageVersion.CSharp8, testCode, expected, fixedCode, CancellationToken.None).ConfigureAwait(false); + + await new CSharpTest(LanguageVersion.CSharp8) + { + ReferenceAssemblies = ReferenceAssemblies.NetCore.NetCoreApp31, + TestCode = testCode, + ExpectedDiagnostics = { Diagnostic(DescriptorNotFollowed).WithLocation(0) }, + FixedCode = fixedCode, + }.RunAsync(CancellationToken.None).ConfigureAwait(false); } } } diff --git a/StyleCop.Analyzers/StyleCop.Analyzers.Test/Verifiers/SpecialTypeDefinitions.cs b/StyleCop.Analyzers/StyleCop.Analyzers.Test/Verifiers/SpecialTypeDefinitions.cs deleted file mode 100644 index 871d12229..000000000 --- a/StyleCop.Analyzers/StyleCop.Analyzers.Test/Verifiers/SpecialTypeDefinitions.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) Tunnel Vision Laboratories, LLC. All Rights Reserved. -// Licensed under the MIT License. See LICENSE in the project root for license information. - -namespace StyleCop.Analyzers.Test.Verifiers -{ - internal static class SpecialTypeDefinitions - { - public const string IndexAndRange = @"namespace System -{ - public struct Range - { - public Range(Index a, Index b) - { - } - public Index Start { get; } - public Index End { get; } - } - - public struct Index - { - public static implicit operator Index(int value) => throw null; - public int GetOffset(int length) => throw null; - } -} -"; - } -}