package org.jbehave.core.io; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import org.junit.Test; public class StoryNameResolverBehaviour { @Test public void shouldResolveUnderscoredToCapitalized() { StoryNameResolver resolver = new UnderscoredToCapitalized(); assertThat(resolver.resolveName("org/jbehave/core/io/camel_case.story"), equalTo("Camel Case")); assertThat(resolver.resolveName("/org/jbehave/core/io/camel_case.story"), equalTo("Camel Case")); assertThat(resolver.resolveName("/camel_case.story"), equalTo("Camel Case")); assertThat(resolver.resolveName("camel_case.story"), equalTo("Camel Case")); assertThat(resolver.resolveName("org.jbehave.core.io.camel_case"), equalTo("Camel Case")); assertThat(resolver.resolveName("camel_case"), equalTo("Camel Case")); } @Test public void shouldResolveUnderscoredToCapitalizedWithCustomExtension() { StoryNameResolver resolver = new UnderscoredToCapitalized(".ext"); assertThat(resolver.resolveName("org/jbehave/core/io/camel_case.ext"), equalTo("Camel Case")); assertThat(resolver.resolveName("/org/jbehave/core/io/camel_case.ext"), equalTo("Camel Case")); assertThat(resolver.resolveName("/camel_case.ext"), equalTo("Camel Case")); assertThat(resolver.resolveName("camel_case.ext"), equalTo("Camel Case")); assertThat(resolver.resolveName("org.jbehave.core.io.camel_case"), equalTo("Camel Case")); assertThat(resolver.resolveName("camel_case"), equalTo("Camel Case")); } @Test public void shouldResolveAncestorWithDefaultAncestors() { StoryNameResolver resolver = new AncestorDelegatingResolver(); assertThat(resolver.resolveName("org/jbehave/core/io/camel_case.story"), equalTo("Io Camel Case")); } @Test public void shouldResolveAncestorWithCustomAncestors() { StoryNameResolver resolver = new AncestorDelegatingResolver(2); assertThat(resolver.resolveName("org/jbehave/core/io/camel_case.story"), equalTo("Core Io Camel Case")); } @Test public void shouldResolveAncestorWithCustomDelegate() { StoryNameResolver delegate = mock(StoryNameResolver.class); when(delegate.resolveName("io")).thenReturn("IO"); when(delegate.resolveName("camel_case.story")).thenReturn("CC"); StoryNameResolver resolver = new AncestorDelegatingResolver(1, delegate); assertThat(resolver.resolveName("org/jbehave/core/io/camel_case.story"), equalTo("IO CC")); } }