From 2ea368fc29d3b0b2227d94b27b01885ee3607441 Mon Sep 17 00:00:00 2001 From: Gilles TOURREAU Date: Mon, 24 Jun 2024 08:35:05 +0200 Subject: [PATCH] Fix the check of the non-static Verify() method. --- src/Moq.Analyzers/MoqSymbols.cs | 2 +- tests/Moq.Analyzers.Tests/MoqLibrary.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Moq.Analyzers/MoqSymbols.cs b/src/Moq.Analyzers/MoqSymbols.cs index 5599717..db54504 100644 --- a/src/Moq.Analyzers/MoqSymbols.cs +++ b/src/Moq.Analyzers/MoqSymbols.cs @@ -43,7 +43,7 @@ private MoqSymbols(INamedTypeSymbol mockGenericClass, Compilation compilation) this.mockBehaviorStrictField = new Lazy(() => this.mockBehaviorEnum.Value.GetMembers("Strict").First()); this.setupProtectedMethods = new Lazy>(() => compilation.GetTypeByMetadataName("Moq.Protected.IProtectedMock`1")!.GetMembers("Setup").OfType().ToArray()); this.asMethod = new Lazy(() => mockGenericClass.GetMembers("As").Single()); - this.verifyMethods = new Lazy>(() => mockGenericClass.GetMembers("Verify").OfType().ToArray()); + this.verifyMethods = new Lazy>(() => mockGenericClass.GetMembers("Verify").Concat(mockGenericClass.BaseType!.GetMembers("Verify")).Where(m => !m.IsStatic).OfType().ToArray()); this.staticVerifyMethod = new Lazy(() => mockGenericClass.BaseType!.GetMembers("Verify").Where(m => m.IsStatic).OfType().Single()); this.staticVerifyAllMethod = new Lazy(() => mockGenericClass.BaseType!.GetMembers("VerifyAll").Where(m => m.IsStatic).OfType().Single()); diff --git a/tests/Moq.Analyzers.Tests/MoqLibrary.cs b/tests/Moq.Analyzers.Tests/MoqLibrary.cs index daa7734..ac70868 100644 --- a/tests/Moq.Analyzers.Tests/MoqLibrary.cs +++ b/tests/Moq.Analyzers.Tests/MoqLibrary.cs @@ -26,8 +26,6 @@ public Mock(params object[] args) { } public ISetup Setup(Func func) { return default; } - public void Verify() { } - public void Verify(Expression> _) { } public void Verify(Expression> _) { } @@ -43,6 +41,8 @@ public class Mock { public static void Verify(params Mock[] mocks) { } + public void Verify() { } + public void VerifyAll() { } public static void VerifyAll(params Mock[] mocks) { }