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;
        }
Ejemplo n.º 2
0
        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);
        }