Огурец и Java8 с несколькими языками.лучший способ? - PullRequest
0 голосов
/ 25 сентября 2019

вот пример с двумя языками (fr и en).Как вы думаете, это лучший способ использовать несколько языков в классе определения шага огурца?

import static org.junit.Assert.assertEquals;

import io.cucumber.java8.En;
import io.cucumber.java8.Fr;
import io.cucumber.java8.StepdefBody.A1;

public class TestLambdaStepdefs implements En, Fr {

    private int budget = 0;

    public TestLambdaStepdefs() {
        Lorsqu("J'ai {int} dans mon portefeuille", setBudget());
        Given("I have {int} in my wallet", setBudget());

        Quand("J'achète .* avec {int}", buy());
        When("I buy .* with {int}", buy());

        Alors("Je dois avoir {int} dans mon portefeuille", shouldHave());
        Then("I should have {int} in my wallet", shouldHave());
    }

    private A1<Integer> setBudget() {
        return (Integer money) -> budget = money;
    }

    private A1<Integer> buy() {
        return (Integer price) -> budget -= price;
    }

    private A1<Integer> shouldHave() {
        return (Integer finalBudget) -> assertEquals(budget, finalBudget.intValue());
    }

}
...