コード例 #1
0
ファイル: hotel_tests.py プロジェクト: psoule/clean_code
def test_find_available_room_between_two_given_dates():
    # Given
    room1 = Room(101, 2)
    room2 = Room(102, 2)
    room3 = Room(103, 2)

    rooms_in_hotel = [room1, room2, room3]
    hotel = Hotel(rooms_in_hotel)

    begining_booking_date = datetime(2019, 5, 3)
    end_booking_date = datetime(2019, 5, 5)

    room1_booked_date = datetime(2019, 5, 3)
    room2_booked_date = datetime(2019, 5, 5)

    room1.book(room1_booked_date)
    room2.book(room2_booked_date)

    # When
    available_rooms = hotel.find_available_rooms(begining_booking_date,
                                                 end_booking_date)

    # Then
    assert len(available_rooms) == 2
    assert room2 in available_rooms
    assert room1 not in available_rooms
    assert room3 in available_rooms
コード例 #2
0
def init_hotel():
    room1 = Room(101)
    room2 = Room(102)
    room3 = Room(103)

    booked_date = datetime(2019, 6, 4)
    room2.book(booked_date)

    rooms_in_hotel = [room1, room2, room3]
    hotel = Hotel(rooms_in_hotel)
    return hotel
コード例 #3
0
def test_room_booking():
    # Given
    date = datetime.utcnow()
    room = Room(101, 2)
    room.book(date)

    # When
    availability = room.is_available_this_day(date)

    # Then
    assert availability is False
コード例 #4
0
def test_room_is_available_at_04042019():
    # Given
    booked_date1 = datetime(2019, 4, 3)
    booked_date2 = datetime(2019, 4, 5)
    available_date = datetime(2019, 4, 4)

    room = Room(101, 2)
    room.book(booked_date1)
    room.book(booked_date2)

    # When
    availability = room.is_available_this_day(available_date)

    # Then
    assert availability is True
コード例 #5
0
ファイル: hotel_tests.py プロジェクト: psoule/clean_code
def test_find_available_room():
    # Given
    room1 = Room(101, 2)
    room2 = Room(102, 2)

    rooms_in_hotel = [room1, room2]
    hotel = Hotel(rooms_in_hotel)

    booked_room1_date = datetime(2019, 5, 3)
    room1.book(booked_room1_date)

    # When
    available_rooms = hotel.find_available_rooms(booked_room1_date)

    # Then
    assert len(available_rooms) == 1
    assert room2 in available_rooms
コード例 #6
0
ファイル: functional_tests.py プロジェクト: psoule/clean_code
def test_find_available_rooms():
    # Given
    checkin_date = datetime.strptime('2019-02-21', DATE_FORMAT)
    checkout_date = datetime.strptime('2019-02-23', DATE_FORMAT)
    number_of_guests = 2

    room_101 = Room(101, room_capacity=2)
    room_102 = Room(102, room_capacity=4)
    room_103 = Room(103, room_capacity=1)
    room_104 = Room(104, room_capacity=2)

    hotel_cuzco = Hotel([room_101, room_102, room_103, room_104])

    booked_room_102_date = datetime(2019, 2, 21)
    room_102.book(booked_room_102_date)

    booked_room_104_date = datetime(2019, 2, 7)
    room_104.book(booked_room_104_date)

    # When
    available_rooms = hotel_cuzco.find_available_rooms(checkin_date, checkout_date, number_of_guests)

    # Then
    assert available_rooms == [room_101, room_104]