From 65f5c87e56a38c1fd58d9e375f525e1c0fe33f3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Amaury=20Lev=C3=A9?= Date: Thu, 15 Feb 2024 18:39:55 +0100 Subject: [PATCH] Apply suggestions from code review --- ...AssemblyInitializeShouldBeValidAnalyzer.cs | 2 +- ...blyInitializeShouldBeValidAnalyzerTests.cs | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/Analyzers/MSTest.Analyzers/AssemblyInitializeShouldBeValidAnalyzer.cs b/src/Analyzers/MSTest.Analyzers/AssemblyInitializeShouldBeValidAnalyzer.cs index 9f2ace7789..5e53581585 100644 --- a/src/Analyzers/MSTest.Analyzers/AssemblyInitializeShouldBeValidAnalyzer.cs +++ b/src/Analyzers/MSTest.Analyzers/AssemblyInitializeShouldBeValidAnalyzer.cs @@ -98,7 +98,7 @@ private static void AnalyzeSymbol(SymbolAnalysisContext context, INamedTypeSymbo if (methodSymbol.DeclaredAccessibility != Accessibility.Public || (!canDiscoverInternals && methodSymbol.GetResultantVisibility() != SymbolVisibility.Public) - || (canDiscoverInternals && methodSymbol.GetResultantVisibility() == SymbolVisibility.Private)) + || (canDiscoverInternals && methodSymbol.GetResultantVisibility() == SymbolVisibility.Private)) { context.ReportDiagnostic(methodSymbol.CreateDiagnostic(PublicRule, methodSymbol.Name)); } diff --git a/test/UnitTests/MSTest.Analyzers.UnitTests/AssemblyInitializeShouldBeValidAnalyzerTests.cs b/test/UnitTests/MSTest.Analyzers.UnitTests/AssemblyInitializeShouldBeValidAnalyzerTests.cs index c831bcbe0d..98767c2f8a 100644 --- a/test/UnitTests/MSTest.Analyzers.UnitTests/AssemblyInitializeShouldBeValidAnalyzerTests.cs +++ b/test/UnitTests/MSTest.Analyzers.UnitTests/AssemblyInitializeShouldBeValidAnalyzerTests.cs @@ -51,6 +51,29 @@ public static void AssemblyInitialize(TestContext context) await VerifyCS.VerifyAnalyzerAsync(code); } + public async Task WhenAssemblyInitializeIsInternal_InsidePublicClassWithDiscoverInternals_Diagnostic() + { + var code = """ + using Microsoft.VisualStudio.TestTools.UnitTesting; + + [assembly: DiscoverInternals] + + [TestClass] + public class MyTestClass + { + [AssemblyInitialize] + internal static void {|#0:AssemblyInitialize|}(TestContext context) + { + } + } + """; + + await VerifyCS.VerifyAnalyzerAsync( + code, + VerifyCS.Diagnostic(AssemblyInitializeShouldBeValidAnalyzer.PublicRule) + .WithLocation(0) + .WithArguments("AssemblyInitialize")); + } public async Task WhenAssemblyInitializeIsNotOrdinary_Diagnostic() { var code = """