public class StepFinder extends Object
StepFinder is reponsible for finding and prioritising step candidates or
finding steps instances from CandidateSteps, which are created using
an InjectableStepsFactory.
The StepCandidates are responsible for the matching of a particular
textual step and are sometimes represented as Stepdocs, each of which
is simply a facade documenting a candidate. The candidates can be prioritised
via an injectable StepFinder.PrioritisingStrategy, defaulting to
StepFinder.ByPriorityField. A more sophisticated strategy that can be used is
the StepFinder.ByLevenshteinDistance.
| Modifier and Type | Class and Description |
|---|---|
static class |
StepFinder.ByLevenshteinDistance
Strategy to priorise candidate steps by Levenshtein Distance
|
static class |
StepFinder.ByPriorityField
Strategy to priorise step candidates by the
StepCandidate.getPriority() field which is settable in the
Given, When, Then annotations. |
static interface |
StepFinder.PrioritisingStrategy
Defines the priorising strategy of step candidates
|
| Constructor and Description |
|---|
StepFinder()
Creates a StepFinder with a
StepFinder.ByPriorityField strategy |
StepFinder(StepFinder.PrioritisingStrategy prioritisingStrategy)
Creates a StepFinder with a custom strategy
|
| Modifier and Type | Method and Description |
|---|---|
List<StepCandidate> |
collectCandidates(List<CandidateSteps> candidateSteps)
Collects a list of step candidates from
CandidateSteps instances. |
List<Stepdoc> |
findMatching(String stepAsText,
List<CandidateSteps> candidateSteps)
Finds matching steps, represented as
Stepdocs, for a given
textual step and a list of CandidateSteps. |
List<StepCandidate> |
prioritise(String stepAsText,
List<StepCandidate> candidates)
Prioritises the list of step candidates that match a given step.
|
List<Stepdoc> |
stepdocs(List<CandidateSteps> candidateSteps)
Returns the stepdocs for the candidates collected from the given
CandidateSteps. |
List<Object> |
stepsInstances(List<CandidateSteps> candidateSteps)
Returns the steps instances associated to CandidateSteps
|
public StepFinder()
StepFinder.ByPriorityField strategypublic StepFinder(StepFinder.PrioritisingStrategy prioritisingStrategy)
prioritisingStrategy - the PrioritisingStrategypublic List<Stepdoc> stepdocs(List<CandidateSteps> candidateSteps)
CandidateSteps.candidateSteps - the List of CandidateStepsStepCandidate.public List<Stepdoc> findMatching(String stepAsText, List<CandidateSteps> candidateSteps)
Stepdocs, for a given
textual step and a list of CandidateSteps.stepAsText - the textual stepcandidateSteps - the List of CandidateStepsStepCandidate.public List<Object> stepsInstances(List<CandidateSteps> candidateSteps)
candidateSteps - the List of CandidateStepspublic List<StepCandidate> collectCandidates(List<CandidateSteps> candidateSteps)
CandidateSteps instances.candidateSteps - the list CandidateSteps instancesStepCandidatepublic List<StepCandidate> prioritise(String stepAsText, List<StepCandidate> candidates)
stepAsText - the textual step to matchcandidates - the List of StepCandidateStepFinder.PrioritisingStrategy.Copyright © 2003–2016. All rights reserved.