use of org.jbehave.core.io.LoadFromClasspath in project jbehave-core by jbehave.
the class ExamplesTableFactoryBehaviour method shouldCreateExamplesTableFromTableInputWithInlinedSeparators.
@Test
public void shouldCreateExamplesTableFromTableInputWithInlinedSeparators() {
// Given
ExamplesTableFactory factory = new ExamplesTableFactory(new LoadFromClasspath(), new TableTransformers());
// When
ExamplesTable examplesTable = factory.createExamplesTable(TABLE_WITH_INLINED_SEPARATTORS);
// Then
assertThat(examplesTable.asString(), equalTo(FILTERED_TABLE_WITH_INLINED_SEPARATTORS));
}
use of org.jbehave.core.io.LoadFromClasspath in project jbehave-core by jbehave.
the class StepCreatorBehaviour method shouldMatchParametersByDelimitedNameWithDistinctNamedAnnotations.
@SuppressWarnings("unchecked")
@Test
public void shouldMatchParametersByDelimitedNameWithDistinctNamedAnnotations() throws Exception {
// Given
SomeSteps stepsInstance = new SomeSteps();
parameterConverters = new ParameterConverters(new LoadFromClasspath(), new TableTransformers());
StepMatcher stepMatcher = mock(StepMatcher.class);
ParameterControls parameterControls = new ParameterControls().useDelimiterNamedParameters(true);
StepCreator stepCreator = stepCreatorUsing(stepsInstance, stepMatcher, parameterControls);
Map<String, String> params = new HashMap<>();
params.put("t", "distinct theme");
params.put("v", "distinct 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("distinct theme"));
assertThat(results.get("variant"), equalTo("distinct variant"));
}
use of org.jbehave.core.io.LoadFromClasspath in project jbehave-core by jbehave.
the class StepCreatorBehaviour method shouldMatchParametersByDelimitedNameWithNoNamedAnnotations.
@Test
public void shouldMatchParametersByDelimitedNameWithNoNamedAnnotations() throws Exception {
// Given
SomeSteps stepsInstance = new SomeSteps();
parameterConverters = new ParameterConverters(new LoadFromClasspath(), new TableTransformers());
StepMatcher stepMatcher = mock(StepMatcher.class);
ParameterControls parameterControls = new ParameterControls().useDelimiterNamedParameters(true);
StepCreator stepCreator = stepCreatorUsing(stepsInstance, stepMatcher, parameterControls);
Map<String, String> params = Collections.singletonMap("param", "value");
when(stepMatcher.parameterNames()).thenReturn(params.keySet().toArray(new String[params.size()]));
when(stepMatcher.parameter(1)).thenReturn("<param>");
// When
Step step = stepCreator.createParametrisedStep(SomeSteps.methodFor("aMethodWithoutNamedAnnotation"), "When a parameter <param> is set", "a parameter <param> is set", params);
step.perform(null);
// Then
assertThat((String) stepsInstance.args, equalTo("value"));
}
use of org.jbehave.core.io.LoadFromClasspath 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.io.LoadFromClasspath 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));
}
Aggregations