MVP of an application responsible for managing flights data.
-Flight#reserveSeat - which should perform a reservation for a passed grade.
-FlightManager#findFlight(String flightNo) - which should return an Optional with a flight for a passed flightNo.
-SeatsGenerator.createSeats(int rows, int seatsInRow, int firstRowNumber) - which would generate a set of seats for the given parameters.
Each seat is represented as a string in the following format:
<row_number><seat_in_a_row>
where:
<row_number> is a decimal number of a row
<seat_in_a_row> is a capital letter
Example:
seatsGenerator.createSeats(2, 4, 1) => [Seat(1A), Seat(1B), Seat(1C), Seat(1D), Seat(2A), Seat(2B), Seat(2C), Seat(2D)]