public BindingMatch GetBestMatch(StepInstance stepInstance, CultureInfo bindingCulture, out StepDefinitionAmbiguityReason ambiguityReason, out List<BindingMatch> candidatingMatches) { candidatingMatches = GetCandidatingBindings(stepInstance, bindingCulture, useParamMatching: true).ToList(); KeepMaxScopeMatches(candidatingMatches); ambiguityReason = StepDefinitionAmbiguityReason.None; if (candidatingMatches.Count > 1) ambiguityReason = StepDefinitionAmbiguityReason.AmbiguousSteps; else if (candidatingMatches.Count == 0) ambiguityReason = OnNoMatch(stepInstance, bindingCulture, out candidatingMatches); if (candidatingMatches.Count == 1) return candidatingMatches[0]; return BindingMatch.NonMatching; }
public BindingMatch GetBestMatch(StepInstance stepInstance, CultureInfo bindingCulture, out StepDefinitionAmbiguityReason ambiguityReason, out List <BindingMatch> candidatingMatches) { candidatingMatches = GetCandidatingBindingsForBestMatch(stepInstance, bindingCulture).ToList(); KeepMaxScopeMatches(candidatingMatches); ambiguityReason = StepDefinitionAmbiguityReason.None; if (candidatingMatches.Count > 1) { ambiguityReason = StepDefinitionAmbiguityReason.AmbiguousSteps; } else if (candidatingMatches.Count == 0) { ambiguityReason = OnNoMatch(stepInstance, bindingCulture, out candidatingMatches); } if (candidatingMatches.Count == 1 && ambiguityReason == StepDefinitionAmbiguityReason.None) { return(candidatingMatches[0]); } return(BindingMatch.NonMatching); }