package simple;
import cuke4duke.StepMother;
import cuke4duke.Steps;
import cuke4duke.annotation.I18n.EN.Given;
import cuke4duke.annotation.I18n.EN.Then;
import cuke4duke.annotation.I18n.EN.When;
import cuke4duke.annotation.Transform;
import static junit.framework.Assert.*;
public class TransformSteps extends Steps {
private boolean exceptionThrown = false;
private User user;
private boolean yes;
public TransformSteps(StepMother stepMother) {
super(stepMother);
}
@Transform
public User transformStringToUserWithAge(String age) {
return new User(Integer.valueOf(age));
}
@Transform
public boolean overrideBooleanPrimitiveTransform(String boolValue) {
return boolValue.equals("yes");
}
@Given("^I pass '(.*)' to a method with int as parameter$")
public void transformToA(int value) {
assertEquals(10, value);
}
@Given("^I pass '(.*)' to a method with Car as parameter$")
public void transformToA(String value) {
try {
Given("pass '(.*)' as a Car", value);
} catch (Exception e) {
exceptionThrown = true;
}
}
@Given("^pass '(.*)' as a Car$")
public void passACar(Car value) {
}
@Given("^I pass '(.*)' to a method with User as parameter$")
public void transformToA(User user) {
this.user = user;
}
@Given("^I pass '(.*)' to a method with boolean as parameter$")
public void iPassYesToAMethodWithBooleanAsParameter(boolean yes) {
this.yes = yes;
}
@When("^something happens$")
public void somethingHappens() {
}
@Then("^all is good$")
public void allIsGood() {
assertFalse(exceptionThrown);
}
@Then("^a User with age '(.*)' is created$")
public void aUserWithAgeIsCreated(int age) {
assertTrue(this.user.age == age);
}
@Then("^an exception is thrown$")
public void exceptionIsThrown() {
assertTrue(exceptionThrown);
}
@Then("^the parameter is true$")
public void theParameterIsTrue() {
assertTrue(yes);
}
public static class Car {
}
public static class User {
public final int age;
public User(int age) {
this.age = age;
}
}
}