Hitesh Sarda wrote:
The current use case is allow a bit more relaxed / flexible syntax.
So I want to map all of these step definitions to a single step.
When the item price is 25
When the item price = 25
When the item price equals 25$
When the item price is equal to 25
So I could write a When annotation something like:
@When("the item price.+[0-9\.]+$*")
Haven't tested the regex above, but hope you get the idea.
Will look at the PrefixCapturingPatternBuilder and try to find a
solution. Any pointers are welcome.
One of possible drawbacks of this approach is it's potential lack of
transparency.
JBehave addresses this use cases with aliases. For example
@When("the item price is $price")
@Alias("the item prices = $price") // single alias
public void theItemPriceIs(double price) {
// ...
}
or
@When("the item price is $price")
@Aliases(values={"the item price = $price"
"the item price equals $price}) // multiple aliases
public void theItemPriceIs(double price) {
// ...
}
Makes readability easier, unless you eat regex for breakfast :-)
Other approaches are also possible, of course, but they may be more
prone to problems as you need to ensure that what comes out of the
pattern builder is correctly understood by the CandidateStep.
Cheers
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email