use of gherkin.formatter.model.DocString in project cucumber-jvm by cucumber.
the class StepDefinitionMatchTest method can_have_doc_string_as_last_argument_among_many.
@Test
public void can_have_doc_string_as_last_argument_among_many() throws Throwable {
StepDefinition stepDefinition = mock(StepDefinition.class);
when(stepDefinition.getParameterCount()).thenReturn(2);
when(stepDefinition.getParameterType(0, String.class)).thenReturn(new ParameterInfo(Integer.TYPE, null, null, null));
when(stepDefinition.getParameterType(1, String.class)).thenReturn(new ParameterInfo(String.class, null, null, null));
Step stepWithDocString = mock(Step.class);
DocString docString = new DocString("test", "HELLO", 999);
when(stepWithDocString.getDocString()).thenReturn(docString);
when(stepWithDocString.getRows()).thenReturn(null);
StepDefinitionMatch stepDefinitionMatch = new StepDefinitionMatch(Arrays.asList(new Argument(0, "5")), stepDefinition, "some.feature", stepWithDocString, new LocalizedXStreams(classLoader));
stepDefinitionMatch.runStep(ENGLISH);
verify(stepDefinition).execute(ENGLISH, new Object[] { 5, "HELLO" });
}
use of gherkin.formatter.model.DocString in project cucumber-jvm by cucumber.
the class StepDefinitionMatchTest method converts_doc_string_with_explicit_converter.
@Test
public void converts_doc_string_with_explicit_converter() throws Throwable {
StepDefinition stepDefinition = mock(StepDefinition.class);
when(stepDefinition.getParameterCount()).thenReturn(1);
when(stepDefinition.getParameterType(0, String.class)).thenReturn(new ParameterInfo(Thing.class, null, null, null));
Step stepWithDocString = mock(Step.class);
DocString docString = new DocString("test", "the thing", 999);
when(stepWithDocString.getDocString()).thenReturn(docString);
when(stepWithDocString.getRows()).thenReturn(null);
StepDefinitionMatch stepDefinitionMatch = new StepDefinitionMatch(new ArrayList<Argument>(), stepDefinition, "some.feature", stepWithDocString, new LocalizedXStreams(classLoader));
stepDefinitionMatch.runStep(ENGLISH);
verify(stepDefinition).execute(ENGLISH, new Object[] { new Thing("the thing") });
}
use of gherkin.formatter.model.DocString in project cucumber-jvm by cucumber.
the class StepDefinitionMatchTest method can_have_doc_string_as_only_argument.
@Test
public void can_have_doc_string_as_only_argument() throws Throwable {
StepDefinition stepDefinition = mock(StepDefinition.class);
when(stepDefinition.getParameterCount()).thenReturn(1);
when(stepDefinition.getParameterType(0, String.class)).thenReturn(new ParameterInfo(String.class, null, null, null));
Step stepWithDocString = mock(Step.class);
DocString docString = new DocString("text/plain", "HELLO", 999);
when(stepWithDocString.getDocString()).thenReturn(docString);
when(stepWithDocString.getRows()).thenReturn(null);
StepDefinitionMatch stepDefinitionMatch = new StepDefinitionMatch(new ArrayList<Argument>(), stepDefinition, "some.feature", stepWithDocString, new LocalizedXStreams(classLoader));
stepDefinitionMatch.runStep(ENGLISH);
verify(stepDefinition).execute(ENGLISH, new Object[] { "HELLO" });
}
use of gherkin.formatter.model.DocString in project cucumber-jvm by cucumber.
the class CucumberScenarioOutlineTest method replaces_tokens_in_doc_strings.
@Test
public void replaces_tokens_in_doc_strings() {
Step outlineStep = new Step(C, null, "I have <n> cukes", 0, null, new DocString(null, "I have <n> cukes", 1));
Step exampleStep = CucumberScenarioOutline.createExampleStep(outlineStep, new ExamplesTableRow(C, asList("n"), 1, ""), new ExamplesTableRow(C, asList("10"), 1, ""));
assertEquals("I have 10 cukes", exampleStep.getDocString().getValue());
}
use of gherkin.formatter.model.DocString in project cucumber-jvm by cucumber.
the class JavaSnippetTest method generatesSnippetWithDocString.
@Test
public void generatesSnippetWithDocString() {
String expected = "" + "@Given(\"^I have:$\")\n" + "public void i_have(String arg1) throws Throwable {\n" + " // Write code here that turns the phrase above into concrete actions\n" + " throw new PendingException();\n" + "}\n";
assertEquals(expected, snippetForDocString("I have:", new DocString("text/plain", "hello", 1)));
}
Aggregations