Exemple #1
0
class TestRoom(unittest.TestCase):
    def setUp(self):  #setUp can only contain Room objects!
        self.large_room = Room("Large Room", 5, 20)
        self.small_room = Room("Small Room", 3, 20)
        self.vip_room = Room("VIP Room", 8, 50)

    def test_room_has_name(self):
        self.assertEqual("Large Room", self.large_room.name)

    def test_room_has_capacity(self):
        self.assertEqual(5, self.large_room.capacity)

    def test_add_song_to_room_set_list(self):
        song_1 = Song("Move on Up")
        self.small_room.add_song_to_set_list(song_1)
        self.assertEqual("Move on Up", self.small_room.set_list[0].name)

    def test_add_three_songs_to_set_list(self):
        song_1 = Song("Move on Up")
        song_2 = Song("I Want To Break Free")
        song_3 = Song("Africa")
        self.small_room.add_song_to_set_list(song_1)
        self.small_room.add_song_to_set_list(song_2)
        self.small_room.add_song_to_set_list(song_3)
        self.assertEqual([song_1, song_2, song_3], self.small_room.set_list)

    def test_check_guest_into_room(self):
        alice = Guest("Alice", 75)

        self.small_room.check_guest_into_room(alice)
        self.assertEqual("Alice", self.small_room.current_occupants[0].name)

    def test_if_room_is_fully_occupied(self):
        alice = Guest("Alice", 75)
        bob = Guest("Bob", 60)
        candice = Guest("Candice", 55)
        danny = Guest("Danny", 75)
        emily = Guest("Emily", 60)
        frank = Guest("Frank", 30)

        self.small_room.check_guest_into_room(alice)
        self.small_room.check_guest_into_room(bob)
        self.small_room.check_guest_into_room(candice)
        self.assertEqual("Sorry, Emily, that room is full.",
                         self.small_room.check_guest_into_room(emily))

    def test_if_guest_is_checked_out(self):
        alice = Guest("Alice", 75)
        self.small_room.check_guest_into_room(alice)
        self.small_room.check_guest_out_of_room(alice)
        self.assertEqual(0, len(self.small_room.current_occupants))

    def test_if_room_cleared(self):
        alice = Guest("Alice", 75)
        bob = Guest("Bob", 60)
        candice = Guest("Candice", 55)

        self.small_room.check_guest_into_room(alice)
        self.small_room.check_guest_into_room(bob)
        self.small_room.check_guest_into_room(candice)
        self.small_room.remove_all_guests()
        self.assertEqual(0, len(self.small_room.current_occupants))