Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

**USING JAVA** Need help implementing JUnit test cases in Airport.java to run on WNAirlineService.java Contents of Airport.java: public class Airport { private String code; private

**USING JAVA**

Need help implementing JUnit test cases in Airport.java to run on WNAirlineService.java

Contents of Airport.java:

public class Airport { private String code; private String name; private String city; private String state;

private String toString;

public Airport(String code, String name, String city, String state) { this.code = code; this.name = name; this.city = city; this.state = state; }

/** * @return String return the code */ public String getCode() { return code; }

/** * @return String return the name */ public String getName() { return name; }

/** * @return String return the city */ public String getCity() { return city; }

/** * @return String return the state */ public String getState() { return state; }

}

Contents for WNAirlineService.java:

import java.util.HashMap;

/** * Southwest Airlines */

public class WNAirlineService implements AirlineService {

public static final int BOEING_737_300_SEATS = 148; private static HashMap < String, Integer > flightSeatsBooked;

private WNAirlineService() { flightSeatsBooked = new HashMap < String, Integer > (); }

/** * @TODO create a singleton for WNAirline Service * * @return */ public static WNAirlineService getInstance() { return INSTANCE; }

@Override public boolean bookFlight(FlightInfo flightToBook, int numOfSeats) { if (numOfSeats > BOEING_737_300_SEATS) return false; else { if (flightSeatsBooked.containsKey(flightToBook)) { int numSeatsLeft = BOEING_737_300_SEATS - (int) flightSeatsBooked.get(flightToBook); if (numOfSeats > numSeatsLeft) return false; else { int numSeatsTaken = (int) flightSeatsBooked.get(flightToBook); numSeatsTaken += numOfSeats; flightSeatsBooked.put(flightToBook, numSeatsTaken); return true; } } else { flightSeatsBooked.put(flightToBook, numOfSeats); return true; } } }

private static final WNAirlineService INSTANCE = new WNAirlineService();

} }

Contents for FlightInfo.java:

public class FlightInfo { private final String flightNum; private final Airport origination; private final Airport destination;

public FlightInfo(String flightNum, Airport origination, Airport destination) { this.flightNum = flightNum; this.origination = origination; this.destination = destination; }

public String getFlightNum() { return flightNum; }

public Airport getOrigination() { return origination; }

public Airport getDestination() { return destination; }

@Override public String toString() { return "FlightInfo{" + "origination=" + origination + ", destination=" + destination + '}'; }

@Override public int hashCode() { return flightNum.hashCode(); }

@Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final FlightInfo other = (FlightInfo) obj; return this.flightNum.equals(other.flightNum); }

}

Contents for AirlineService.java:

public interface AirlineService { /** * Attempts to book a flight by trying to reserve number of seats * * @param flightToBook * @return true if one was successful in booking a flight, false if was not */ public boolean bookFlight(FlightInfo flightToBook, int numOfSeats); }

Thank you!

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Essential SQLAlchemy Mapping Python To Databases

Authors: Myers, Jason Myers

2nd Edition

1491916567, 9781491916568

More Books

Students also viewed these Databases questions