package cucumber.examples.java.calculator;
import cucumber.api.Format;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
import java.util.Date;
import static org.junit.Assert.assertEquals;
public class DateStepdefs {
private String result;
private DateCalculator calculator;
@Given("^today is (.+)$")
public void today_is(@Format("yyyy-MM-dd") Date date) {
calculator = new DateCalculator(date);
}
/**
* We don't need to use @Format here, since the date string in the step
* conforms to <code>SimpleDateFormat.SHORT</code>. Cucumber has built-in support for
* <code>SimpleDateFormat.SHORT</code>, <code>SimpleDateFormat.MEDIUM</code>,
* <code>SimpleDateFormat.LONG</code> and <code>SimpleDateFormat.FULL</code>.
*
* @see <a href="http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html">SimpleDateFormat</a>
*/
@When("^I ask if (.+) is in the past$")
public void I_ask_if_date_is_in_the_past(Date date) {
result = calculator.isDateInThePast(date);
}
@Then("^the result should be (.+)$")
public void the_result_should_be(String expectedResult) {
assertEquals(expectedResult, result);
}
}