package org.jbehave.examples.core.steps;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.notNullValue;
import java.util.Set;
import java.util.TreeSet;
import org.jbehave.core.annotations.BeforeScenario;
import org.jbehave.core.annotations.Given;
import org.jbehave.core.annotations.Then;
import org.jbehave.core.annotations.When;
public class ParametrisationByDelimitedNameSteps {
private String user;
private Set<String> products; // null means no cart...
@BeforeScenario
public void init() {
user = null;
products = null;
}
@Given("$user is logged in")
public void loggedIn(String user) {
this.user = user;
}
@Given("$customer has a cart")
public void aCustomerHasACart(String customer) {
assertThat(user, notNullValue());
assertThat(customer, equalTo(user));
if (products == null) products = new TreeSet<String>();
}
@Given("a user $user has borrowed books $isbns")
public void createListOfBorrowedBooks(String user, String isbns) {
System.out.println(user+", "+isbns);
}
@When("a $product is added to the cart")
public void aProductIsAddedToCart(String product) {
assertThat(products, notNullValue());
products.add(product);
}
@Then("cart contains $product")
public void cartContains(String product) {
assertThat(products, notNullValue());
assertThat(products.contains(product), is(true));
}
}