コード例 #1
0
    def test_can_generate_and_assign_to_rooms(self):
        rooms = alloc.generate_rooms('office')
        self.assertEquals(len(rooms), 10)
        Amity.add_rooms(rooms)
        self.assertIsInstance(rooms[randint(0, 9)], Office)
        rooms = alloc.generate_rooms('living space')
        self.assertEquals(len(rooms), 10)
        Amity.add_rooms(rooms)
        self.assertIsInstance(rooms[randint(0, 9)], LivingSpace)
        self.assertEqual(Amity.room_count, 20)

        # test that file can be parsed
        PeopleFileParser.line_to_person(file_path)
        person_name = 'ANDREW PHILLIPS'
        Manager.assign_to_room(person_name, 'Room 1')
        Manager.assign_to_room(person_name, 'Room 10')
        person = Amity.find_person(person_name)
        self.assertEquals(person.office.name, 'Room 1')
        self.assertIn(person, Amity.find_room('Room 1').occupants)

        # test that manager can make allocations
        Manager.allocate()
        self.assertEquals([], Manager.get_list_of_unallocated_people())
コード例 #2
0
           or room.has_female_occupant():
            room.add_occupant(person)
    else:
        if not room.has_female_occupant() \
         and not person.has_living_space():
            room.add_occupant(person)


@staticmethod
def allocate():
    for person in Amity.people_collection:
        Manager.assign_to_room(person)


Manager.assign_to_room = assign_to_room
Manager.assign_to_office = assign_to_office
Manager.assign_to_living_space = assign_to_living_space
Manager.allocate = allocate
Manager.get_list_of_unallocated_people = get_list_of_unallocated_people
Manager.get_list_of_allocations = get_list_of_allocations
Manager.print_list_of_allocations = print_list_of_allocations
Manager.get_members_in_room = get_members_in_room

if __name__ == '__main__':
    offices = generate_rooms('office')
    Amity.add_rooms(offices)

    living_spaces = generate_rooms('living space')
    Amity.add_rooms(living_spaces)
    print "You have {0} rooms now in Amity".format(Amity.room_count)