Browse Source

merge conflict resolved

feature-pr-AccountClass
Sona Markosyan 3 years ago
parent
commit
bf20e7f621
  1. 4
      src/main/java/hs/fulda/de/ci/exam/project/FlightReservation.java
  2. 8
      src/main/java/hs/fulda/de/ci/exam/project/FlightReservationRepository.java
  3. 73
      src/main/java/hs/fulda/de/ci/exam/project/Itinerary.java
  4. 4
      src/main/java/hs/fulda/de/ci/exam/project/Passenger.java
  5. 6
      src/test/java/hs/fulda/de/ci/exam/project/CustomerTest.java
  6. 49
      src/test/java/hs/fulda/de/ci/exam/project/ItineraryTest.java

4
src/main/java/hs/fulda/de/ci/exam/project/FlightReservation.java

@ -0,0 +1,4 @@
package hs.fulda.de.ci.exam.project;
public class FlightReservation {
}

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

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

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

@ -1,10 +1,77 @@
package hs.fulda.de.ci.exam.project;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class Itinerary {
public Itinerary(Airport start_airport, Airport final_airport) {
private Airport start_airport;
private Airport final_airport;
private Date creationDate;
private FlightReservationRepository flightReservationRepository;
public Itinerary(Airport start_airport, Airport final_airport, Date creationDate) {
this.start_airport = start_airport;
this.final_airport = final_airport;
this.creationDate = creationDate;
}
public List<FlightReservation> getReservations(){
return flightReservationRepository.findAll();
}
public float makeDiscount(float fare, float discountRate){
fare = fare - (fare * discountRate/100);
return fare;
}
public boolean makePayment(String transactionType, Customer customer, float fare){
if(customer.getItineraries().size() >= 2) {
fare = makeDiscount(fare, 10);
if(transactionType == "Credit"){
fare = makeDiscount(fare, 15);
System.out.println("Your discount rate is 15%. The total amount of: " + fare + "Euro");
return true;
}
else if(transactionType == "Cash" || transactionType == "Check") {
System.out.println("Your discount rate is 10%. The total amount of: " + fare + "Euro");
return true;
}
}
return false;
}
public boolean makeReservation(Passenger passenger){
List<FlightReservation> flightReservations = getReservations();
FlightReservation flight = new FlightReservation();
flightReservationRepository.save(flight);
return false;
}
public Airport getFinal_airport() {
return final_airport;
}
public Airport getStart_airport() {
return start_airport;
}
public Date getCreationDate() {
return creationDate;
}
public void setCreationDate(Date creationDate) {
this.creationDate = creationDate;
}
public void setFinal_airport(Airport final_airport) {
this.final_airport = final_airport;
}
public void setStart_airport(Airport start_airport) {
this.start_airport = start_airport;
}
}

4
src/main/java/hs/fulda/de/ci/exam/project/Passenger.java

@ -0,0 +1,4 @@
package hs.fulda.de.ci.exam.project;
public class Passenger {
}

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

@ -8,6 +8,8 @@ import static org.mockito.Mockito.*;
import org.mockito.junit.jupiter.MockitoExtension;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Date;
import static org.junit.jupiter.api.Assertions.assertEquals;
@ExtendWith(MockitoExtension.class)
@ -49,8 +51,8 @@ public class CustomerTest {
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);
Itinerary item1 = new Itinerary(airport_fr, airport_be, new Date());
Itinerary item2 = new Itinerary(airport_be, airport_fr, new Date());
itineraries.add(item1);
itineraries.add(item2);

49
src/test/java/hs/fulda/de/ci/exam/project/ItineraryTest.java

@ -0,0 +1,49 @@
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.util.ArrayList;
import java.util.Date;
import static org.junit.jupiter.api.Assertions.assertEquals;
@ExtendWith(MockitoExtension.class)
public class ItineraryTest {
final Address address1 = new Address("Fuldaer str", "Fulda", "Hessen", "36037", "Germany");
final Airport airport_fr = new Airport("Fraport", address1, "1234");
final Airport airport_be = new Airport("Berlin", address1, "5678");
@InjectMocks
final Customer person1 = new Customer("Max Mustermann", address1, "max.mustermann@gmail.com", "015147890206");
final Itinerary item1 = new Itinerary(airport_fr, airport_be, new Date());
final Itinerary item2 = new Itinerary(airport_be, airport_fr, new Date());
@Mock
private ItineraryRepository itineraryRepo;
@Test
public void test_makePayment() {
ArrayList<Itinerary> itineraries = new ArrayList<>();
itineraries.add(item1);
itineraries.add(item2);
when(person1.getItineraries()).thenReturn(itineraries);
boolean actualWithCredit = item1.makePayment("Credit", person1, 450);
boolean actualWithCash = item1.makePayment("Cash", person1, 450);
boolean actualWithCheck = item1.makePayment("Check", person1, 450);
boolean actualEmpty = item1.makePayment(" ", person1, 450);
assertEquals(true, actualWithCash, "The Payment method is successfully chosen");
assertEquals(true, actualWithCash, "The Payment method is successfully chosen");
assertEquals(true, actualWithCredit, "The Payment method is successfully chosen");
assertEquals(true, actualWithCheck, "The Payment method is successfully chosen");
assertEquals(false, actualEmpty, "The Payment method is wrong");
}
}
Loading…
Cancel
Save