class TestRoom(unittest.TestCase): def setUp(self): self.song_1 = Song("Nirvava - Smells like teen spirit") self.song_2 = Song("Bob Dylan - Like A Rolling Stone") self.guest_1 = Guest("Dougal", 50) self.guest_2 = Guest("Hamish", 70) self.guest_3 = Guest("Donny", 3) songs_1 = [self.song_1, self.song_2] songs_2 = [] self.room_1 = Room("Rock", songs_1, 5) self.room_2 = Room("Dance", songs_2, 8) def test_guest_has_name(self): self.assertEqual("Rock", self.room_1.name) self.assertEqual("Dance", self.room_2.name) def test_no_guests_in_room(self): self.assertEqual(0, self.room_1.get_guests_in_room()) def test_room_has_songs(self): self.assertEqual(2, self.room_1.check_songs()) def test_room_can_add_song(self): self.song_3 = Song("Eric Clapton - Layla") self.room_1.add_song_to_room(self.song_3) self.assertEqual(3, self.room_1.check_songs()) def test_room_can_add_guests(self): self.room_1.add_guest_to_room(self.guest_1) self.assertEqual("Welcome", self.room_1.add_guest_to_room(self.guest_2)) def test_room_cannot_add_guests(self): self.room_1.add_guest_to_room(self.guest_1) self.room_1.add_guest_to_room(self.guest_2) self.assertEqual("Room is full!", self.room_1.add_guest_to_room(self.guest_3)) def test_room_can_remove_guests(self): self.room_1.add_guest_to_room(self.guest_3) self.room_1.remove_guest_from_room(self.guest_3) self.assertEqual(0, self.room_1.get_guests_in_room()) def test_room_has_entry_fee(self): self.assertEqual(5, self.room_1.entry_fee) def test_room_has_till(self): self.assertEqual(0, self.room_1.till) def test_add_money_to_till(self): self.room_1.add_money_to_till(5) self.assertEqual(5, self.room_1.till) def test_guest_check_in(self): self.room_1.guest_check_in(self.guest_1) self.assertEqual(45, self.guest_1.money) def test_guest_cant_check_in(self): self.room_1.guest_check_in(self.guest_3) self.assertEqual(3, self.guest_3.money) def test_guest_cant_afford_room(self): self.assertEqual("Sorry, not tonight", self.room_1.guest_check_in(self.guest_3))
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() )