use of org.jbehave.core.model.TableTransformers in project jbehave-core by jbehave.
the class StepCreatorBehaviour method shouldInjectExceptionThatHappenedIfTargetMethodExpectsIt.
@Test
public void shouldInjectExceptionThatHappenedIfTargetMethodExpectsIt() throws Exception {
// Given
SomeSteps stepsInstance = new SomeSteps();
parameterConverters = new ParameterConverters(new LoadFromClasspath(), new TableTransformers());
StepCreator stepCreator = stepCreatorUsing(stepsInstance, mock(StepMatcher.class), new ParameterControls());
// When
Step stepWithMeta = stepCreator.createBeforeOrAfterStep(SomeSteps.methodFor("aMethodThatExpectsUUIDExceptionWrapper"), mock(Meta.class));
UUIDExceptionWrapper occurredFailure = new UUIDExceptionWrapper();
StepResult stepResult = stepWithMeta.perform(occurredFailure);
// Then
assertThat(stepResult, instanceOf(Silent.class));
assertThat((UUIDExceptionWrapper) stepsInstance.args, is(occurredFailure));
}
use of org.jbehave.core.model.TableTransformers in project jbehave-core by jbehave.
the class StepCreatorBehaviour method shouldInjectNoFailureIfNoExceptionHappenedAndTargetMethodExpectsIt.
@Test
public void shouldInjectNoFailureIfNoExceptionHappenedAndTargetMethodExpectsIt() throws Exception {
// Given
SomeSteps stepsInstance = new SomeSteps();
parameterConverters = new ParameterConverters(new LoadFromClasspath(), new TableTransformers());
StepCreator stepCreator = stepCreatorUsing(stepsInstance, mock(StepMatcher.class), new ParameterControls());
// When
Step stepWithMeta = stepCreator.createBeforeOrAfterStep(SomeSteps.methodFor("aMethodThatExpectsUUIDExceptionWrapper"), mock(Meta.class));
UUIDExceptionWrapper occurredFailure = new UUIDExceptionWrapper();
StepResult stepResult = stepWithMeta.perform(occurredFailure);
// Then
assertThat(stepResult, instanceOf(Silent.class));
assertThat((UUIDExceptionWrapper) stepsInstance.args, is(occurredFailure));
}
use of org.jbehave.core.model.TableTransformers in project jbehave-core by jbehave.
the class StepCreatorBehaviour method shouldMatchParametersByNamedAnnotationsIfConfiguredToNotUseDelimiterNamedParamters.
@SuppressWarnings("unchecked")
@Test
public void shouldMatchParametersByNamedAnnotationsIfConfiguredToNotUseDelimiterNamedParamters() throws Exception {
// Given
SomeSteps stepsInstance = new SomeSteps();
parameterConverters = new ParameterConverters(new LoadFromClasspath(), new TableTransformers());
StepMatcher stepMatcher = mock(StepMatcher.class);
ParameterControls parameterControls = new ParameterControls().useDelimiterNamedParameters(false);
StepCreator stepCreator = stepCreatorUsing(stepsInstance, stepMatcher, parameterControls);
Map<String, String> params = new HashMap<>();
params.put("theme", "a theme");
params.put("variant", "a variant");
when(stepMatcher.parameterNames()).thenReturn(params.keySet().toArray(new String[params.size()]));
when(stepMatcher.parameter(1)).thenReturn("<t>");
when(stepMatcher.parameter(2)).thenReturn("<v>");
// When
Step step = stepCreator.createParametrisedStep(SomeSteps.methodFor("aMethodWithANamedParameter"), "When I use parameters <t> and <v>", "I use parameters <t> and <v>", params);
step.perform(null);
// Then
Map<String, String> results = (Map<String, String>) stepsInstance.args;
assertThat(results.get("theme"), equalTo("a theme"));
assertThat(results.get("variant"), equalTo("a variant"));
}
use of org.jbehave.core.model.TableTransformers in project jbehave-core by jbehave.
the class ParameterConvertersBehaviour method shouldConvertMultilineTableToParameters.
@Test
public void shouldConvertMultilineTableToParameters() {
ParameterConverter converter = new ExamplesTableParametersConverter(new ExamplesTableFactory(new LoadFromClasspath(), new TableTransformers()));
Type type = new TypeLiteral<List<MyParameters>>() {
}.getType();
assertThatTypesAreAccepted(converter, type);
String value = "|col1|col2|\n|row11|row12|\n|row21|row22|\n";
@SuppressWarnings("unchecked") List<MyParameters> parameters = (List<MyParameters>) converter.convertValue(value, type);
assertThat(parameters.size(), is(2));
MyParameters row1 = parameters.get(0);
assertThat(row1.col1, is("row11"));
assertThat(row1.col2, is("row12"));
MyParameters row2 = parameters.get(1);
assertThat(row2.col1, is("row21"));
assertThat(row2.col2, is("row22"));
}
use of org.jbehave.core.model.TableTransformers in project jbehave-core by jbehave.
the class ParameterConvertersBehaviour method shouldNotModifyListOfConvertersFromOriginalParameterConvertersWhenCreatingNewInstance.
@Test
public void shouldNotModifyListOfConvertersFromOriginalParameterConvertersWhenCreatingNewInstance() {
expectedException.expect(ParameterConvertionFailed.class);
ParameterConverters original = new ParameterConverters(new LoadFromClasspath(), new TableTransformers());
original.newInstanceAdding(new FooToBarParameterConverter());
original.convert("foo", Bar.class);
}
Aggregations