Search in sources :

Example 6 with ExamplesTableFactory

use of org.jbehave.core.model.ExamplesTableFactory in project jbehave-core by jbehave.

the class CoreStory method configuration.

@Override
public Configuration configuration() {
    Class<? extends Embeddable> embeddableClass = this.getClass();
    Properties viewResources = new Properties();
    viewResources.put("decorateNonHtml", "true");
    LoadFromClasspath resourceLoader = new LoadFromClasspath(embeddableClass);
    TableTransformers tableTransformers = new TableTransformers();
    ParameterControls parameterControls = new ParameterControls();
    // Start from default ParameterConverters instance
    ParameterConverters parameterConverters = new ParameterConverters(resourceLoader, tableTransformers);
    // factory to allow parameter conversion and loading from external
    // resources (used by StoryParser too)
    ExamplesTableFactory examplesTableFactory = new ExamplesTableFactory(new LocalizedKeywords(), resourceLoader, parameterConverters, parameterControls, tableTransformers);
    // add custom converters
    parameterConverters.addConverters(new DateConverter(new SimpleDateFormat("yyyy-MM-dd")), new ExamplesTableConverter(examplesTableFactory));
    return new MostUsefulConfiguration().useStoryControls(new StoryControls().doDryRun(false).doSkipScenariosAfterFailure(false)).useStoryLoader(resourceLoader).useStoryParser(new RegexStoryParser(examplesTableFactory)).useStoryPathResolver(new UnderscoredCamelCaseResolver()).useStoryReporterBuilder(new StoryReporterBuilder().withCodeLocation(CodeLocations.codeLocationFromClass(embeddableClass)).withDefaultFormats().withPathResolver(new ResolveToPackagedName()).withViewResources(viewResources).withFormats(CONSOLE, TXT, HTML_TEMPLATE, XML).withCrossReference(xref).withFailureTrace(true).withFailureTraceCompression(true)).useParameterConverters(parameterConverters).useParameterControls(parameterControls).useTableTransformers(tableTransformers);
}
Also used : StoryReporterBuilder(org.jbehave.core.reporters.StoryReporterBuilder) ParameterControls(org.jbehave.core.steps.ParameterControls) DateConverter(org.jbehave.core.steps.ParameterConverters.DateConverter) MostUsefulConfiguration(org.jbehave.core.configuration.MostUsefulConfiguration) LocalizedKeywords(org.jbehave.core.i18n.LocalizedKeywords) ExamplesTableConverter(org.jbehave.core.steps.ParameterConverters.ExamplesTableConverter) StoryControls(org.jbehave.core.embedder.StoryControls) Properties(java.util.Properties) TableTransformers(org.jbehave.core.model.TableTransformers) UnderscoredCamelCaseResolver(org.jbehave.core.io.UnderscoredCamelCaseResolver) RegexStoryParser(org.jbehave.core.parsers.RegexStoryParser) LoadFromClasspath(org.jbehave.core.io.LoadFromClasspath) ParameterConverters(org.jbehave.core.steps.ParameterConverters) ExamplesTableFactory(org.jbehave.core.model.ExamplesTableFactory) SimpleDateFormat(java.text.SimpleDateFormat) ResolveToPackagedName(org.jbehave.core.reporters.FilePrintStreamFactory.ResolveToPackagedName)

Example 7 with ExamplesTableFactory

use of org.jbehave.core.model.ExamplesTableFactory 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"));
}
Also used : Type(java.lang.reflect.Type) AbstractParameterConverter(org.jbehave.core.steps.ParameterConverters.AbstractParameterConverter) ParameterConverter(org.jbehave.core.steps.ParameterConverters.ParameterConverter) ExamplesTableParametersConverter(org.jbehave.core.steps.ParameterConverters.ExamplesTableParametersConverter) LoadFromClasspath(org.jbehave.core.io.LoadFromClasspath) MyParameters(org.jbehave.core.steps.SomeSteps.MyParameters) ExamplesTableFactory(org.jbehave.core.model.ExamplesTableFactory) Arrays.asList(java.util.Arrays.asList) TableTransformers(org.jbehave.core.model.TableTransformers) Test(org.junit.Test)

Example 8 with ExamplesTableFactory

use of org.jbehave.core.model.ExamplesTableFactory in project jbehave-core by jbehave.

the class ParameterConvertersBehaviour method shouldConvertSinglelineTableToParameters.

@Test
public void shouldConvertSinglelineTableToParameters() {
    ParameterConverter converter = new ExamplesTableParametersConverter(new ExamplesTableFactory(new LoadFromClasspath(), new TableTransformers()));
    Type type = MyParameters.class;
    assertThatTypesAreAccepted(converter, type);
    String value = "|col1|col2|\n|row11|row12|\n";
    MyParameters parameters = (MyParameters) converter.convertValue(value, type);
    assertThat(parameters.col1, is("row11"));
    assertThat(parameters.col2, is("row12"));
}
Also used : Type(java.lang.reflect.Type) AbstractParameterConverter(org.jbehave.core.steps.ParameterConverters.AbstractParameterConverter) ParameterConverter(org.jbehave.core.steps.ParameterConverters.ParameterConverter) ExamplesTableParametersConverter(org.jbehave.core.steps.ParameterConverters.ExamplesTableParametersConverter) LoadFromClasspath(org.jbehave.core.io.LoadFromClasspath) MyParameters(org.jbehave.core.steps.SomeSteps.MyParameters) ExamplesTableFactory(org.jbehave.core.model.ExamplesTableFactory) TableTransformers(org.jbehave.core.model.TableTransformers) Test(org.junit.Test)

Aggregations

ExamplesTableFactory (org.jbehave.core.model.ExamplesTableFactory)8 LoadFromClasspath (org.jbehave.core.io.LoadFromClasspath)7 TableTransformers (org.jbehave.core.model.TableTransformers)7 MostUsefulConfiguration (org.jbehave.core.configuration.MostUsefulConfiguration)4 RegexStoryParser (org.jbehave.core.parsers.RegexStoryParser)4 ExamplesTableConverter (org.jbehave.core.steps.ParameterConverters.ExamplesTableConverter)4 Type (java.lang.reflect.Type)3 SimpleDateFormat (java.text.SimpleDateFormat)3 LocalizedKeywords (org.jbehave.core.i18n.LocalizedKeywords)3 StoryReporterBuilder (org.jbehave.core.reporters.StoryReporterBuilder)3 ParameterControls (org.jbehave.core.steps.ParameterControls)3 ParameterConverters (org.jbehave.core.steps.ParameterConverters)3 DateConverter (org.jbehave.core.steps.ParameterConverters.DateConverter)3 Test (org.junit.Test)3 Properties (java.util.Properties)2 AbstractParameterConverter (org.jbehave.core.steps.ParameterConverters.AbstractParameterConverter)2 ExamplesTableParametersConverter (org.jbehave.core.steps.ParameterConverters.ExamplesTableParametersConverter)2 ParameterConverter (org.jbehave.core.steps.ParameterConverters.ParameterConverter)2 MyParameters (org.jbehave.core.steps.SomeSteps.MyParameters)2 Arrays.asList (java.util.Arrays.asList)1