You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.9 KiB
53 lines
1.9 KiB
package hs.fulda.de.ci.exam.project;
|
|
|
|
import org.junit.Before;
|
|
import org.junit.jupiter.api.*;
|
|
import org.mockito.InjectMocks;
|
|
|
|
import java.util.Date;
|
|
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
|
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
|
public class FrontDeskOfficerTest {
|
|
|
|
Address address1;
|
|
Airport airport_fr;
|
|
Airport airport_be;
|
|
FrontDeskOfficer frontDeskOfficer;
|
|
|
|
@BeforeAll
|
|
public void setupAll(){
|
|
System.out.println("Should Print Before All Tests");
|
|
}
|
|
@BeforeEach
|
|
public void setup(){
|
|
address1 = new Address("Fuldaer str", "Fulda", "Hessen", "36037", "Germany");
|
|
airport_fr = new Airport("Fraport", address1, "1234");
|
|
airport_be = new Airport("Berlin", address1, "5678");
|
|
frontDeskOfficer = new FrontDeskOfficer("John", address1, "example@email.com", "0151238967");
|
|
}
|
|
@Test
|
|
public void shouldCreateItinerary() {
|
|
frontDeskOfficer.createItinerary(airport_fr, airport_be, new Date());
|
|
assertFalse(frontDeskOfficer.getAllItineraries().isEmpty());
|
|
assertEquals(1, frontDeskOfficer.getAllItineraries().size());
|
|
assertTrue(frontDeskOfficer.getAllItineraries().stream().filter(itinerary -> itinerary.getStart_airport().equals(airport_fr) &&
|
|
itinerary.getFinal_airport().equals(airport_be)).findAny().isPresent());
|
|
}
|
|
@Test
|
|
@DisplayName("Should Not Create Itinerary when Starting Airport is null")
|
|
public void shouldThrowRuntimeExceptionWhenStartAirportIsNull(){
|
|
assertThrows(RuntimeException.class, () -> {
|
|
frontDeskOfficer.createItinerary(null, airport_be, new Date());
|
|
});
|
|
}
|
|
|
|
@Test
|
|
@DisplayName("Should Not Create Itinerary when Destination Airport is null")
|
|
public void shouldThrowRuntimeExceptionWhenFinalAirportIsNull(){
|
|
assertThrows(RuntimeException.class, () -> {
|
|
frontDeskOfficer.createItinerary(airport_fr, airport_be, null);
|
|
});
|
|
}
|
|
}
|