From 2422117111c69e42a79dadfd9f064002983d28b1 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Wed, 18 Sep 2024 19:49:21 +1000 Subject: [PATCH] cleanup --- src/Verify/Naming/FileNameBuilder.cs | 53 +++++++++++++++------------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/src/Verify/Naming/FileNameBuilder.cs b/src/Verify/Naming/FileNameBuilder.cs index 7b0828259..014c1de9c 100644 --- a/src/Verify/Naming/FileNameBuilder.cs +++ b/src/Verify/Naming/FileNameBuilder.cs @@ -37,12 +37,6 @@ public static (string receivedParameters, string verifiedParameters) GetParamete var numberOfMethodParameters = methodParameters.Count; - var ignoredParameters = settings.ignoredParameters; - if (ignoredParameters?.All(methodParameters.Contains) == false) - { - throw new($"Some of the ignored parameter names ({string.Join(", ", ignoredParameters)}) do not exist in the test method parameters ({string.Join(", ", methodParameters)})."); - } - if (settingsParameters.Length > numberOfMethodParameters) { throw new($"The number of passed in parameters ({settingsParameters.Length}) must not exceed the number of parameters for the method ({methodParameters.Count})."); @@ -52,32 +46,41 @@ public static (string receivedParameters, string verifiedParameters) GetParamete .Zip(settingsParameters, (name, value) => new KeyValuePair(name, value)) .ToArray(); + var ignoredParameters = settings.ignoredParameters; + if (ignoredParameters?.All(methodParameters.Contains) == false) + { + throw new($"Some of the ignored parameter names ({string.Join(", ", ignoredParameters)}) do not exist in the test method parameters ({string.Join(", ", methodParameters)})."); + } + var verifiedValues = ignoredParameters is null ? allValues : ignoredParameters.Count == 0 ? [] : allValues.Where(x => !ignoredParameters.Contains(x.Key)).ToArray(); - return (BuildParameterString(allValues), BuildParameterString(verifiedValues)); + var hashParameters = settings.hashParameters || VerifierSettings.hashParameters; + return ( + BuildParameterString(allValues, hashParameters), + BuildParameterString(verifiedValues, hashParameters)); + } - string BuildParameterString(KeyValuePair[] values) + static string BuildParameterString(KeyValuePair[] values, bool hashParameters) + { + var builder = values.Aggregate(new StringBuilder(), (acc, seed) => { - var builder = values.Aggregate(new StringBuilder(), (acc, seed) => - { - acc.Append('_'); - acc.Append(seed.Key); - acc.Append('='); - VerifierSettings.AppendParameter(seed.Value, acc, true); - return acc; - }); - - var parameterText = builder.ToString(); - - if (settings.hashParameters || VerifierSettings.hashParameters) - { - return HashString(parameterText); - } - - return parameterText; + acc.Append('_'); + acc.Append(seed.Key); + acc.Append('='); + VerifierSettings.AppendParameter(seed.Value, acc, true); + return acc; + }); + + var parameterText = builder.ToString(); + + if (hashParameters) + { + return HashString(parameterText); } + + return parameterText; } static string HashString(string value)