Browse Source

Merge commit '45e8a0e44d91caabcae3c72d19dfa4a8ae670eb9' into HEAD

feature-pr-Itinerary
JenkinsSonaImron 3 years ago
parent
commit
47ca1dbec7
  1. 28
      src/main/java/hs/fulda/de/ci/exam/project/Customer.java
  2. 10
      src/main/java/hs/fulda/de/ci/exam/project/Itinerary.java
  3. 8
      src/main/java/hs/fulda/de/ci/exam/project/ItineraryRepository.java
  4. 64
      src/test/java/hs/fulda/de/ci/exam/project/CustomerTest.java

28
src/main/java/hs/fulda/de/ci/exam/project/Customer.java

@ -0,0 +1,28 @@
package hs.fulda.de.ci.exam.project;
import java.util.ArrayList;
public class Customer extends Person{
private String frequentFlyerNumber;
private ItineraryRepository itineraryRepository;
public Customer(String name, Address address, String email, String phone) {
super(name, address, email, phone);
}
public void setFrequentFlyerNumber(String frequentFlyerNumber) {
this.frequentFlyerNumber = frequentFlyerNumber;
}
public String getFrequentFlyerNumber() {
return frequentFlyerNumber;
}
public ArrayList<Itinerary> getItineraries() {
return itineraryRepository.findAll();
}
}

10
src/main/java/hs/fulda/de/ci/exam/project/Itinerary.java

@ -0,0 +1,10 @@
package hs.fulda.de.ci.exam.project;
import java.util.ArrayList;
public class Itinerary {
public Itinerary(Airport start_airport, Airport final_airport) {
}
}

8
src/main/java/hs/fulda/de/ci/exam/project/ItineraryRepository.java

@ -0,0 +1,8 @@
package hs.fulda.de.ci.exam.project;
import java.util.ArrayList;
public interface ItineraryRepository {
ArrayList<Itinerary> findAll();
void save(Itinerary itinerary);
}

64
src/test/java/hs/fulda/de/ci/exam/project/CustomerTest.java

@ -0,0 +1,64 @@
package hs.fulda.de.ci.exam.project;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import static org.mockito.Mockito.*;
import org.mockito.junit.jupiter.MockitoExtension;
import java.lang.reflect.Field;
import java.util.ArrayList;
import static org.junit.jupiter.api.Assertions.assertEquals;
@ExtendWith(MockitoExtension.class)
public class CustomerTest {
final Address address1 = new Address("Fuldaer str", "Fulda", "Hessen", "36037", "Germany");
@InjectMocks
final Customer person1 = new Customer("Max Mustermann", address1, "max.mustermann@gmail.com", "015147890206");
@Test
public void test_setFlyingNumber() throws NoSuchFieldException, IllegalAccessException{
person1.setFrequentFlyerNumber("5");
final Field field = person1.getClass().getDeclaredField("frequentFlyerNumber");
field.setAccessible(true);
assertEquals(field.get(person1), "5","set frequent flying number of the customer");
}
@Test
public void test_getFlyingNumber() throws NoSuchFieldException, IllegalAccessException {
final Field field = person1.getClass().getDeclaredField("frequentFlyerNumber");
field.setAccessible(true);
field.set(person1, "10");
final String result = person1.getFrequentFlyerNumber();
assertEquals(result, "10","get frequent flying number of the customer");
}
@Mock
private ItineraryRepository itineraryRepo;
@Test
public void test_getItineraries() {
ArrayList<Itinerary> itineraries = new ArrayList<>();
Airport airport_fr = new Airport("Fraport", address1, "1234");
Airport airport_be = new Airport("Berlin", address1, "5678");
Itinerary item1 = new Itinerary(airport_fr, airport_be);
Itinerary item2 = new Itinerary(airport_be, airport_fr);
itineraries.add(item1);
itineraries.add(item2);
when(itineraryRepo.findAll()).thenReturn(itineraries);
ArrayList<Itinerary> new_itineraries = person1.getItineraries();
assertEquals(2, new_itineraries.size(), "Sizes are equal");
}
}
Loading…
Cancel
Save