def test_03_reserve_room_from_25_to_27(self):
     check_in_date = '5/25/18'
     check_out_date = '5/27/18'
     customer = Customer('Heba', '+12345678901')
     reservation = Reservation(self.hotel, customer, check_in_date,
                               check_out_date)
     self.assertTrue(reservation.reserve(),
                     msg='a room should have been reserved from %s to %s'\
                     %(check_in_date, check_out_date))
 def test_04_reserve_room_from_24_to_25(self):
     check_in_date = '5/24/18'
     check_out_date = '5/25/18'
     customer = Customer('Ali', '+16132614041')
     reservation = Reservation(self.hotel, customer, check_in_date,
                               check_out_date)
     self.assertTrue(reservation.reserve(),
                     msg='a room should have been reserved from %s to %s'\
                     %(check_in_date, check_out_date))
 def test_05_reserve_room_from_25_to_27(self):
     check_in_date = '5/25/18'
     check_out_date = '5/27/18'
     customer = Customer('Ali', '+16132614041')
     reservation = Reservation(self.hotel, customer, check_in_date,
                               check_out_date)
     # Hotel is full from 25 to 27
     self.assertFalse(reservation.reserve(),
                     msg='no room should have been reserved from %s to %s'\
                     %(check_in_date, check_out_date))
def make_reservation():
    name = input("Step 1 (User): Enter name> ")
    if name == 'give_up':
        return None

    tickets = input("Step 1 (User): Enter number of tickets> ")
    if tickets == 'give_up':
        return None
    else:
        tickets = int(tickets)

    show_movies()

    movie_id = input("Step 2 (Movie): Choose a movie> ")
    if movie_id == 'give_up':
        return
    else:
        movie_id = int(movie_id)

    show_movie_projections(movie_id)

    projection_id = input("Step 3 (Projection): Choose a projections> ")
    print(Reservation.print_occupied(conn, projection_id))
    if projection_id == 'give_up':
        return None

    projection_id = int(projection_id)

    seats = chose_seats(tickets, projection_id)
    if seats:
        reservation(movie_id, projection_id, seats)

    confirmation = input('Step 5 (Confirm - type "finalize") >')
    if confirmation == 'give_up':
        return
    if confirmation == 'finalize':
        for seat in seats:
            Reservation.reserve(conn, (name, projection_id, seat[0], seat[1]))
        print('Thanks! Enjoy the movie!')