Search in sources :

Example 1 with DocString

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" });
}
Also used : Argument(gherkin.formatter.Argument) DocString(gherkin.formatter.model.DocString) DocString(gherkin.formatter.model.DocString) Step(gherkin.formatter.model.Step) LocalizedXStreams(cucumber.runtime.xstream.LocalizedXStreams) Test(org.junit.Test)

Example 2 with DocString

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") });
}
Also used : Argument(gherkin.formatter.Argument) DocString(gherkin.formatter.model.DocString) Step(gherkin.formatter.model.Step) LocalizedXStreams(cucumber.runtime.xstream.LocalizedXStreams) Test(org.junit.Test)

Example 3 with DocString

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" });
}
Also used : Argument(gherkin.formatter.Argument) DocString(gherkin.formatter.model.DocString) DocString(gherkin.formatter.model.DocString) Step(gherkin.formatter.model.Step) LocalizedXStreams(cucumber.runtime.xstream.LocalizedXStreams) Test(org.junit.Test)

Example 4 with DocString

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());
}
Also used : ExamplesTableRow(gherkin.formatter.model.ExamplesTableRow) DocString(gherkin.formatter.model.DocString) Step(gherkin.formatter.model.Step) Test(org.junit.Test)

Example 5 with DocString

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)));
}
Also used : DocString(gherkin.formatter.model.DocString) DocString(gherkin.formatter.model.DocString) Test(org.junit.Test)

Aggregations

DocString (gherkin.formatter.model.DocString)8 Test (org.junit.Test)8 Step (gherkin.formatter.model.Step)5 LocalizedXStreams (cucumber.runtime.xstream.LocalizedXStreams)3 Argument (gherkin.formatter.Argument)3 ExamplesTableRow (gherkin.formatter.model.ExamplesTableRow)2