Skip to content

Commit f0b073f

Browse files
authored
- added a specific message
Added ArgumentException with a message to let user know that parameter name conflicts with header name in ExampleTable
1 parent 2d74ac0 commit f0b073f

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/TestStack.BDDfy/Scanners/StepScanners/Fluent/FluentScanner.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,9 +203,15 @@ private StepTitle CreateTitle(string stepTextTemplate, bool includeInputsInStepT
203203
{
204204
if (_testContext.Examples != null)
205205
{
206-
var matchingHeader = _testContext.Examples.Headers
207-
.SingleOrDefault(header => ExampleTable.HeaderMatches(header, i.ParameterName) ||
208-
ExampleTable.HeaderMatches(header, i.Value.Name));
206+
var matchingHeaders = _testContext.Examples.Headers
207+
.Where(header => ExampleTable.HeaderMatches(header, i.ParameterName) ||
208+
ExampleTable.HeaderMatches(header, i.Value.Name))
209+
.ToList();
210+
211+
if (matchingHeaders.Count > 1)
212+
throw new ArgumentException($"Cannot uniquely distinguish parameter name between '{methodInfo.Name}' method's parameter name '{i.ParameterName}' and header's name '{i.Value.Name}'");
213+
214+
var matchingHeader = matchingHeaders.SingleOrDefault();
209215
if (matchingHeader != null)
210216
return string.Format("<{0}>", matchingHeader);
211217
}

0 commit comments

Comments
 (0)