Add oving 5
This commit is contained in:
51
src/test/java/oving5/ticket/PeriodTicketTest.java
Normal file
51
src/test/java/oving5/ticket/PeriodTicketTest.java
Normal file
@@ -0,0 +1,51 @@
|
||||
package oving5.ticket;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import java.time.LocalDateTime;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class PeriodTicketTest {
|
||||
|
||||
@Test
|
||||
@DisplayName("Check that the ticket is valid within the period")
|
||||
public void testIsValidWhenWithinPeriod() {
|
||||
LocalDateTime start = LocalDateTime.now().minusDays(1);
|
||||
LocalDateTime end = LocalDateTime.now().plusDays(1);
|
||||
PeriodTicket ticket = new PeriodTicket(start, end);
|
||||
assertTrue(ticket.scan(), "The ticket should be valid within the period");
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Check that the ticket is not valid before the period")
|
||||
public void testIsNotValidWhenBeforePeriod() {
|
||||
LocalDateTime start = LocalDateTime.now().plusDays(1);
|
||||
LocalDateTime end = LocalDateTime.now().plusDays(2);
|
||||
PeriodTicket ticket = new PeriodTicket(start, end);
|
||||
assertFalse(ticket.scan(), "The ticket should not be valid before the period");
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Check that the ticket is not valid after the period")
|
||||
public void testIsNotValidWhenAfterPeriod() {
|
||||
LocalDateTime start = LocalDateTime.now().minusDays(2);
|
||||
LocalDateTime end = LocalDateTime.now().minusDays(1);
|
||||
PeriodTicket ticket = new PeriodTicket(start, end);
|
||||
assertFalse(ticket.scan(), "The ticket should not be valid after the period");
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Check that the ticket throws IllegalArgumentException when the start date is "
|
||||
+ "after the end date")
|
||||
public void testThrowsExceptionWhenStartIsAfterEnd() {
|
||||
LocalDateTime start = LocalDateTime.now().plusDays(1);
|
||||
LocalDateTime end = LocalDateTime.now().minusDays(1);
|
||||
|
||||
assertThrows(IllegalArgumentException.class, () -> {
|
||||
new PeriodTicket(start, end);
|
||||
}, "The ticket should throw IllegalArgumentException when the start date is after the "
|
||||
+ "end date");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user