Skip to content

Commit d687091

Browse files
author
MPCoreDeveloper
committed
Analyzer & code-fix test suite fully modernized to .NET 10, xUnit v3, Microsoft Testing Platform and the latest Roslyn testing framework (1.1.2) using the current DefaultVerifier/TestState pattern — zero warnings, fully compatible with Visual Studio 2026
Modernize project and update to .NET 10 compatibility - Incremented package version to 1.1.8 and updated release notes. - Upgraded test project to target .NET 10 and Visual Studio 2026. - Refactored test suite to use modern Roslyn testing framework. - Removed legacy test helpers and focused on C# testing. - Enhanced method exclusion logic in NamedArgumentsAnalyzer. - Improved type name handling and stripped `global::` prefix. - Updated dependencies to latest versions (e.g., xUnit v3, Roslyn 1.1.2). - Cleaned up redundant code and aligned with modern practices. - Updated README to reflect modernization and compatibility updates.
1 parent 1ab24a0 commit d687091

20 files changed

+155
-497
lines changed

Posseth.NamedArguments.AnalyzerAndFixer.Package/Posseth.NamedArguments.AnalyzerAndFixer.Package.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,22 @@
99

1010
<PropertyGroup>
1111
<PackageId>Posseth.NamedArguments.AnalyzerAndFixer</PackageId>
12-
<PackageVersion>1.0.1.7</PackageVersion>
12+
<PackageVersion>1.0.1.8</PackageVersion>
1313
<Authors>MPCoreDeveloper</Authors>
1414
<PackageLicenseExpression>MIT</PackageLicenseExpression>
1515
<PackageProjectUrl>https://github.com/MPCoreDeveloper/Posseth.NamedArguments.AnalyzerAndFixer</PackageProjectUrl>
1616
<RepositoryUrl>https://github.com/MPCoreDeveloper/Posseth.NamedArguments.AnalyzerAndFixer</RepositoryUrl>
1717
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
1818
<Description>This tool analyzes method calls to ensure they use named arguments and provides an option to automatically convert positional arguments to named arguments. For example, it can transform `TestMethod(1, 2)` into `TestMethod(x: 1, y: 2)`.
1919
</Description>
20-
<PackageReleaseNotes>Updated default list, discovered namespace path is shown</PackageReleaseNotes>
20+
<PackageReleaseNotes>This version has been upgraded and tested against VS 2026 and net 10</PackageReleaseNotes>
2121
<Copyright>Free to use , distribute and modify </Copyright>
2222
<PackageTags>NamedArguments;AnalyzerAndFixer;analyzers;</PackageTags>
2323
<DevelopmentDependency>true</DevelopmentDependency>
2424
<NoPackageAnalysis>true</NoPackageAnalysis>
2525
<TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);_AddAnalyzersToOutput</TargetsForTfmSpecificContentInPackage>
2626
<Title>Named Arguments Analyzer and Fixer</Title>
27-
<Version>1.1.7</Version>
27+
<Version>1.1.8</Version>
2828
<Company>Posseth Software</Company>
2929
<Product>Posseth.NamedArguments.AnalyzerAndFixer</Product>
3030
<PackageIcon>logo.jpeg</PackageIcon>

Posseth.NamedArguments.AnalyzerAndFixer.Test/NestedInvocationTests.cs

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
using Microsoft.CodeAnalysis.CSharp.Testing;
22
using Microsoft.CodeAnalysis.Testing;
3+
using Microsoft.CodeAnalysis.Testing.Verifiers;
34
using Xunit;
45
using System.Threading.Tasks;
5-
using VerifyCS = Posseth.NamedArguments.AnalyzerAndFixer.Test.CSharpCodeFixVerifier<
6-
Posseth.NamedArguments.AnalyzerAndFixer.NamedArgumentsAnalyzer,
7-
Posseth.NamedArguments.AnalyzerAndFixer.NamedArgumentsCodeFixProvider>;
86

97
namespace Posseth.NamedArguments.AnalyzerAndFixer.Test
108
{
@@ -14,9 +12,8 @@ public class NestedInvocationTests
1412
public async Task NestedInvocations_AreFixed()
1513
{
1614
// Configuratie om Info-diagnostieken te negeren
17-
var test = new VerifyCS.Test
18-
{
19-
TestCode = @"
15+
var test = new CSharpCodeFixTest<NamedArgumentsAnalyzer, NamedArgumentsCodeFixProvider, DefaultVerifier>();
16+
test.TestState.Sources.Add(@"
2017
using System;
2118
2219
class TimeProvider
@@ -60,8 +57,8 @@ public Uri GetGetPresignedUrl(string objectKey)
6057
)
6158
);
6259
}
63-
}",
64-
FixedCode = @"
60+
}");
61+
test.FixedState.Sources.Add(@"
6562
using System;
6663
6764
class TimeProvider
@@ -105,15 +102,17 @@ public Uri GetGetPresignedUrl(string objectKey)
105102
)
106103
);
107104
}
108-
}",
109-
ExpectedDiagnostics = {
110-
VerifyCS.Diagnostic(NamedArgumentsAnalyzer.DiagnosticId).WithLocation(39, 17).WithArguments("bucketName", "S3Provider.GetGetPresignedUrl"),
111-
VerifyCS.Diagnostic(NamedArgumentsAnalyzer.DiagnosticId).WithLocation(40, 17).WithArguments("objectKey", "S3Provider.GetGetPresignedUrl"),
112-
VerifyCS.Diagnostic(NamedArgumentsAnalyzer.DiagnosticId).WithLocation(41, 17).WithArguments("expires", "S3Provider.GetGetPresignedUrl"),
113-
VerifyCS.Diagnostic(NamedArgumentsAnalyzer.DiagnosticId).WithLocation(41, 53).WithArguments("value", "System.DateTime.AddHours"),
114-
VerifyCS.Diagnostic(NamedArgumentsAnalyzer.DiagnosticId).WithLocation(38, 13).WithArguments("uriString", "System.Uri..ctor"),
115-
},
116-
};
105+
}");
106+
test.TestState.ExpectedDiagnostics.Add(
107+
DiagnosticResult.CompilerWarning(NamedArgumentsAnalyzer.DiagnosticId).WithLocation(39, 17).WithArguments("bucketName", "S3Provider.GetGetPresignedUrl"));
108+
test.TestState.ExpectedDiagnostics.Add(
109+
DiagnosticResult.CompilerWarning(NamedArgumentsAnalyzer.DiagnosticId).WithLocation(40, 17).WithArguments("objectKey", "S3Provider.GetGetPresignedUrl"));
110+
test.TestState.ExpectedDiagnostics.Add(
111+
DiagnosticResult.CompilerWarning(NamedArgumentsAnalyzer.DiagnosticId).WithLocation(41, 17).WithArguments("expires", "S3Provider.GetGetPresignedUrl"));
112+
test.TestState.ExpectedDiagnostics.Add(
113+
DiagnosticResult.CompilerWarning(NamedArgumentsAnalyzer.DiagnosticId).WithLocation(41, 53).WithArguments("value", "System.DateTime.AddHours"));
114+
test.TestState.ExpectedDiagnostics.Add(
115+
DiagnosticResult.CompilerWarning(NamedArgumentsAnalyzer.DiagnosticId).WithLocation(38, 13).WithArguments("uriString", "System.Uri..ctor"));
117116

118117
// Negeer Info-diagnostieken
119118
test.TestState.AnalyzerConfigFiles.Add(("/.editorconfig", @"

Posseth.NamedArguments.AnalyzerAndFixer.Test/Posseth.NamedArguments.AnalyzerAndFixer.Test.csproj

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net6.0</TargetFramework>
4+
<TargetFramework>net10.0</TargetFramework>
55
<LangVersion>latest</LangVersion>
66
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
77
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
88
<SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
9+
<SuppressTfmSupportBuildErrors>true</SuppressTfmSupportBuildErrors>
10+
<IsPackable>false</IsPackable>
911
</PropertyGroup>
1012

1113
<ItemGroup>
12-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
13-
<PackageReference Include="xunit" Version="2.9.3" />
14-
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5" />
14+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
15+
<PackageReference Include="xunit.v3" Version="1.0.1" />
16+
<PackageReference Include="Microsoft.Testing.Platform" Version="1.5.0" />
17+
1518
<PackageReference Include="Microsoft.CodeAnalysis" Version="4.14.0" />
19+
20+
<PackageReference Include="Microsoft.CodeAnalysis.Testing.Verifiers.XUnit" Version="1.1.2" />
1621
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Analyzer.Testing" Version="1.1.2" />
1722
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.CodeFix.Testing" Version="1.1.2" />
1823
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.CodeRefactoring.Testing" Version="1.1.2" />
19-
<PackageReference Include="Microsoft.CodeAnalysis.VisualBasic.Analyzer.Testing" Version="1.1.2" />
20-
<PackageReference Include="Microsoft.CodeAnalysis.VisualBasic.CodeFix.Testing" Version="1.1.2" />
21-
<PackageReference Include="Microsoft.CodeAnalysis.VisualBasic.CodeRefactoring.Testing" Version="1.1.2" />
22-
<PackageReference Include="Microsoft.CodeAnalysis.Testing.Verifiers.XUnit" Version="1.1.2" />
23-
<PackageReference Include="System.Formats.Asn1" Version="9.0.10" />
2424
</ItemGroup>
2525

2626
<ItemGroup>

0 commit comments

Comments
 (0)