метод файла шага для действительных чисел - PullRequest
0 голосов
/ 20 марта 2019

Добавление: добавление десятичного числа.

Scenario: Add two positive decimal numbers
Given I am on the demo page
When I add the numbers 2.25 and 3.25
Then the result is 5.5

Я думаю, что метод when должен выглядеть примерно так:

 @When("^I add the numbers (-?\\d+\\.?\\d*) and (-?\\d+\\.?\\d*)$")
public void i_add_the_numbers_and(double x, double y) throws Throwable {
   demoPage.addNumbers(x, y);
}

@Then("^the result is (-?\\d+\\.?\\d*)$")
public void the_result_is(double sum) throws Throwable {
    assertEquals(demoPage.getCalculatorResults(), sum);
}
}

Проблема в том, что регулярное выражение числа не соответствует действительным числам.пример -1,2 или 5,4 или -23,234

Как мне сопоставить все положительные и отрицательные действительные числа?

1 Ответ

0 голосов
/ 20 марта 2019

спасибо НеплатныйУдай

следующие работы

/**
 * @param x
 * @param y
 * @throws Throwable
 */
@When("^I add the numbers (-?\\d+\\.?\\d*) and (-?\\d+\\.?\\d*)$")
public void i_add_the_numbers_and(float x, float y) throws Throwable {
  demoPage.addNumbers(x, y);
}

 /**
 * @param sum
 * @throws Throwable
 */
@Then("^the result is (-?\\d+\\.?\\d*)$")
public void the_result_is(float sum) throws Throwable {
    assertEquals(demoPage.getCalculatorResults(), sum);
}

Так почему же использование float или BigDecimal заставило метод работать? Я понимаю, что double - это более длинная версия float. так что если float работает, почему не удваивается

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...