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.

66 lines
2.2 KiB

  1. package hs.fulda.de.ci.exam.project;
  2. import org.junit.jupiter.api.Test;
  3. import org.junit.jupiter.api.extension.ExtendWith;
  4. import org.mockito.InjectMocks;
  5. import org.mockito.Mock;
  6. import static org.mockito.Mockito.*;
  7. import org.mockito.junit.jupiter.MockitoExtension;
  8. import java.lang.reflect.Field;
  9. import java.util.ArrayList;
  10. import java.util.Date;
  11. import static org.junit.jupiter.api.Assertions.assertEquals;
  12. @ExtendWith(MockitoExtension.class)
  13. public class CustomerTest {
  14. final Address address1 = new Address("Fuldaer str", "Fulda", "Hessen", "36037", "Germany");
  15. @InjectMocks
  16. final Customer person1 = new Customer("Max Mustermann", address1, "max.mustermann@gmail.com", "015147890206");
  17. @Test
  18. public void test_setFlyingNumber() throws NoSuchFieldException, IllegalAccessException{
  19. person1.setFrequentFlyerNumber("5");
  20. final Field field = person1.getClass().getDeclaredField("frequentFlyerNumber");
  21. field.setAccessible(true);
  22. assertEquals(field.get(person1), "5","set frequent flying number of the customer");
  23. }
  24. @Test
  25. public void test_getFlyingNumber() throws NoSuchFieldException, IllegalAccessException {
  26. final Field field = person1.getClass().getDeclaredField("frequentFlyerNumber");
  27. field.setAccessible(true);
  28. field.set(person1, "10");
  29. final String result = person1.getFrequentFlyerNumber();
  30. assertEquals(result, "10","get frequent flying number of the customer");
  31. }
  32. @Mock
  33. private ItineraryRepository itineraryRepo;
  34. @Test
  35. public void test_getItineraries() {
  36. ArrayList<Itinerary> itineraries = new ArrayList<>();
  37. Airport airport_fr = new Airport("Fraport", address1, "1234");
  38. Airport airport_be = new Airport("Berlin", address1, "5678");
  39. Itinerary item1 = new Itinerary(airport_fr, airport_be, new Date());
  40. Itinerary item2 = new Itinerary(airport_be, airport_fr, new Date());
  41. itineraries.add(item1);
  42. itineraries.add(item2);
  43. when(itineraryRepo.findAll()).thenReturn(itineraries);
  44. ArrayList<Itinerary> new_itineraries = person1.getItineraries();
  45. assertEquals(2, new_itineraries.size(), "Sizes are equal");
  46. }
  47. }