From 1c9ad5b240d20d4308621e5f17a02f4b7f391726 Mon Sep 17 00:00:00 2001
From: Tom Longhurst <30480171+thomhurst@users.noreply.github.com>
Date: Mon, 3 Feb 2025 22:44:32 +0000
Subject: [PATCH] Fix for TUnit v0.10 Signature Changes (#1394)
---
src/Directory.Packages.props | 4 ++--
src/Verify.TUnit/TUnitExtensions.cs | 13 +++++++------
src/Verify.TUnit/Verifier.cs | 6 +++---
src/Verify.TUnit/VerifyChecks.cs | 2 +-
4 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props
index 35865a31f7..732f9805f4 100644
--- a/src/Directory.Packages.props
+++ b/src/Directory.Packages.props
@@ -31,8 +31,8 @@
-
-
+
+
diff --git a/src/Verify.TUnit/TUnitExtensions.cs b/src/Verify.TUnit/TUnitExtensions.cs
index 3d259f44b6..f2824897c1 100644
--- a/src/Verify.TUnit/TUnitExtensions.cs
+++ b/src/Verify.TUnit/TUnitExtensions.cs
@@ -2,10 +2,10 @@ static class TUnitExtensions
{
public static IReadOnlyList? GetParameterNames(this TestDetails details)
{
- var methodParameterNames = details.MethodInfo.ParameterNames();
+ var methodParameterNames = details.TestMethod.Parameters.Select(x => x.Name).ToList();
var constructorParameterNames = GetConstructorParameterNames(details);
- if (methodParameterNames == null)
+ if (methodParameterNames.Count is 0)
{
if (constructorParameterNames.Count == 0)
{
@@ -26,12 +26,13 @@ static class TUnitExtensions
static List GetConstructorParameterNames(TestDetails details)
{
- var constructors = details.ClassType.GetConstructors(BindingFlags.Instance | BindingFlags.Public);
- if (constructors.Length <= 1)
+ var parameters = details.TestClass.Parameters;
+ if (parameters.Length is 0)
{
- return constructors[0].GetParameters().Select(_ => _.Name!).ToList();
+ return [];
}
- throw new("Found multiple constructors. Unable to derive names of parameters. Instead use UseParameters to pass in explicit parameter.");
+ return parameters.Select(_ => _.Name).ToList();
+
}
}
\ No newline at end of file
diff --git a/src/Verify.TUnit/Verifier.cs b/src/Verify.TUnit/Verifier.cs
index dfcf828c5b..0b89b1eb5a 100644
--- a/src/Verify.TUnit/Verifier.cs
+++ b/src/Verify.TUnit/Verifier.cs
@@ -30,7 +30,7 @@ static InnerVerifier BuildVerifier(string sourceFile, VerifySettings settings, b
}
var details = TestContext.Current!.TestDetails;
- var type = details.ClassType;
+ var type = details.TestClass.Type;
var classArguments = details.TestClassArguments;
var methodArguments = details.TestMethodArguments;
if (!settings.HasParameters &&
@@ -42,8 +42,8 @@ static InnerVerifier BuildVerifier(string sourceFile, VerifySettings settings, b
VerifierSettings.AssignTargetAssembly(type.Assembly);
- var method = details.MethodInfo;
- var pathInfo = GetPathInfo(sourceFile, type, method);
+ var method = details.TestMethod;
+ var pathInfo = GetPathInfo(sourceFile, type, method.ReflectionInformation);
return new(
sourceFile,
settings,
diff --git a/src/Verify.TUnit/VerifyChecks.cs b/src/Verify.TUnit/VerifyChecks.cs
index 88f8acc066..343e908e81 100644
--- a/src/Verify.TUnit/VerifyChecks.cs
+++ b/src/Verify.TUnit/VerifyChecks.cs
@@ -6,7 +6,7 @@ public static class VerifyChecks
public static Task Run()
{
var details = TestContext.Current!.TestDetails;
- var type = details.ClassType;
+ var type = details.TestClass.Type;
VerifierSettings.AssignTargetAssembly(type.Assembly);
return InnerVerifyChecks.Run(type.Assembly);
}