Class PatternVariantBuilder
Builds a set of pattern variants of given pattern input, supporting a custom directives. Depending on the directives present, one or more resulting variants are created.
Currently supported directives are
Pattern | Result |
..A {x|y} B.. |
|
..A {x|y|} B.. |
|
..A {x} B.. |
|
These directives can be used to conveniently create several variants of a step pattern, without having to repeat it as a whole as one or more aliases.
Examples:
-
@Then("the result {must |has to |}be $x")
public void checkResult(int x)...Would match any of these variants from a story file:
- Then the result must be 42
- Then the result has to be 42
- Then the result be 42
-
@When("$A {+|plus|is added to} $B")
public void add(int A, int B)...Would match any of these variants from a story file:
- When 42 + 23
- When 42 plus 23
- When 42 is added to 23
- Author:
- Daniel Schneller
-
Constructor Summary
ConstructorDescriptionPatternVariantBuilder
(String input) Creates a builder and calculates all variants for given input. -
Method Summary
Modifier and TypeMethodDescriptionReturns a new copy set of all variants with no whitespace compression.allVariants
(boolean compressWhitespace) Returns a new copy set of all variants.getInput()
-
Constructor Details
-
PatternVariantBuilder
Creates a builder and calculates all variants for given input. When there are no variants found in the input, it will itself be the only result.- Parameters:
input
- to be evaluated
-
-
Method Details
-
getInput
-
allVariants
Returns a new copy set of all variants with no whitespace compression.- Returns:
- a
Set
of all variants without whitespace compression - See Also:
-
allVariants
Returns a new copy set of all variants. Any two or more consecutive white space characters will be condensed into a single space if boolean flag is set.
Otherwise, any whitespace will be left as is.
- Parameters:
compressWhitespace
- whether or not to compress whitespace- Returns:
- a
Set
of all variants
-