class TestRoom(unittest.TestCase): def setUp(self): self.room = Room("Super Stars", 100.00, 2, 5.00) self.guest = Guest("Monica", 40.00, "I Will Survive") self.rich_guest = Guest("Pheobe", 70.00, "Dancing Queen") self.poor_guest = Guest("Chandler", 4.00, "Sweet Caroline") self.songs = { "Dancing Queen": Song("Dancing Queen", "ABBA"), "I Will Survive": Song("I Will Survive", "Gloria Gaynor"), "Sweet Caroline": Song("Sweet Caroline", "Neil Diamond") } def test_room_has_a_name(self): self.assertEqual("Super Stars", self.room.name) def test_room_has_money_in_till(self): self.assertEqual(100.00, self.room.till) def test_room_has_empty_guest_list(self): self.assertEqual([], self.room.guest_list) def test_room_has_empty_playlist(self): self.assertEqual({}, self.room.playlist) def test_guest_room_limit_set(self): self.assertEqual(2, self.room.room_limit) def test_room_has_space_returns_True_when_room_has_space(self): self.assertEqual(True, self.room.check_room_has_space()) def test_room_has_space_returns_False_when_room_is_full(self): self.room.admit_guest(self.guest) self.room.admit_guest(self.rich_guest) self.room.admit_guest(self.rich_guest) self.assertEqual(False, self.room.check_room_has_space()) def test_guest_admitted_when_room_has_space_and_enough_money(self): self.room.admit_guest(self.guest) self.assertEqual(1, len(self.room.guest_list)) def test_guest_not_admitted_when_room_has_space_but_not_enough_money(self): self.room.admit_guest(self.poor_guest) self.assertEqual(0, len(self.room.guest_list)) def test_guest_not_admitted_when_has_enough_money_but_capacity_full(self): self.room.admit_guest(self.guest) self.room.admit_guest(self.rich_guest) self.room.admit_guest(self.guest) self.assertEqual(2, len(self.room.guest_list)) def test_remove_guest_from_guest_list(self): self.room.remove_guest(self.guest) self.assertEqual(0, len(self.room.guest_list)) def test_guest_can_be_admitted_when_room_empty(self): self.room.admit_guest(self.guest) self.assertEqual(1, len(self.room.guest_list)) def test_money_can_be_added_to_till(self): self.room.add_money_to_till(self.room.entry_fee) self.assertEqual(105.00, self.room.till) def test_get_guest_fav_song(self): self.assertEqual("I Will Survive", self.room.get_guest_favourite_song(self.guest)) def test_add_favourite_song_to_playlist(self): fav_song = self.room.get_guest_favourite_song(self.guest) self.room.add_favourite_song_to_playlist(self.guest, self.songs) self.assertEqual(1, len(self.room.playlist)) # def test_remove_song_from_playlist(self): # self.room.add_favourite_song_to_playlist(self.guest, self.songs) # self.room.remove_guest_song_from_playlist(self.guest) # self.assertEqual(0, len(self.room.playlist)) def test_play_song_from_playlist(self): self.room.add_favourite_song_to_playlist(self.guest, self.songs) song = self.songs["I Will Survive"] self.assertEqual(song, self.room.play_song_from_playlist() )