@Test
public void shouldBuildConfigurationFromAnnotations() {
SpringAnnotationBuilder builder = new SpringAnnotationBuilder(
AnnotatedUsingSpring.class);
Configuration configuration = builder.buildConfiguration();
assertThat(configuration.storyControls().dryRun(), is(true));
assertThat(configuration.storyControls().skipScenariosAfterFailure(),
is(true));
assertThat(configuration.failureStrategy(),
instanceOf(SilentlyAbsorbingFailure.class));
assertThat(configuration.storyLoader(), instanceOf(LoadFromURL.class));
assertThat(configuration.stepPatternParser(),
instanceOf(RegexPrefixCapturingPatternParser.class));
assertThat(
((RegexPrefixCapturingPatternParser) configuration.stepPatternParser())
.getPrefix(), equalTo("MyPrefix"));
assertThatDateIsConvertedWithFormat(
configuration.parameterConverters(), new SimpleDateFormat(
"yyyy-MM-dd"));
assertThat(configuration.parameterControls().nameDelimiterLeft(),
equalTo("["));
assertThat(configuration.parameterControls().nameDelimiterRight(),
equalTo("]"));
assertThat(configuration.storyReporterBuilder().formats(),
hasItems(CONSOLE, HTML, TXT, XML, STATS));
Keywords keywords = configuration.storyReporterBuilder().keywords();
assertThat(keywords, instanceOf(LocalizedKeywords.class));
assertThat(((LocalizedKeywords) keywords).getLocale(),
equalTo(Locale.ITALIAN));
assertThat(configuration.storyReporterBuilder().outputDirectory()
.getName(), equalTo("my-output-directory"));
assertThat(configuration.storyReporterBuilder().viewResources()
.getProperty("index"), equalTo("my-reports-index.ftl"));
assertThat(configuration.storyReporterBuilder().viewResources()
.getProperty("decorateNonHtml"), equalTo("true"));
assertThat(configuration.storyReporterBuilder().reportFailureTrace(),
is(true));
}