class TestRoom(unittest.TestCase): def setUp(self): self.room_1 = Room("Bongo", 3, 20) self.room_2 = Room("Studio 24", 5, 30) self.guest_1 = Guest("Pierre", 50, "Gotta Go") self.guest_2 = Guest("Alexander", 40, "On My Radio") self.guest_3 = Guest("Pepe", 30, "Divorce a I'ltalienne") self.guest_4 = Guest("Edi", 5, "Gotta Go") self.song_1 = Song("Gotta Go", "Agnostic Front", 3.2) self.song_2 = Song("On My Radio", "Selecter", 3.52) self.song_3 = Song("Divorce a I'ltalienne", "Mungo's Hifi", 3.46) def test_room_has_name(self): self.assertEqual("Bongo", self.room_1.name) def test_room_has_capacity(self): self.assertEqual(True, isinstance(self.room_1.capacity, int)) def test_room_entry_fee(self): self.assertEqual(30, self.room_2.entry_fee) def test_guest_list_empty(self): self.assertEqual([], self.room_1.guest_list) def test_song_list_empty(self): self.assertEqual([], self.room_2.song_list) def test_add_guest_to_list(self): room = self.room_1 room.add_guest_to_room(self.guest_1, room) #check if guest is added to the list self.assertEqual(1, len(room.guest_list)) #check if money is taken from the guest self.assertEqual(30, self.guest_1.cash) #check if money is added to the till self.assertEqual(120, room.check_till(room)) def test_add_guests_to_list(self): room = self.room_1 room.add_guest_to_room(self.guest_1, room) room.add_guest_to_room(self.guest_2, room) self.assertEqual(2, len(room.guest_list)) def test_remove_guest_from_room(self): room = self.room_1 room.add_guest_to_room(self.guest_1, room) room.remove_guest_from_room(self.guest_1, room) self.assertEqual([], room.guest_list) def test_song_to_room(self): self.room_1.add_song_to_list(self.song_1, self.room_1) self.assertEqual(1, len(self.room_1.song_list)) def test_full_room(self): room = self.room_1 room.add_guest_to_room(self.guest_1, room) room.add_guest_to_room(self.guest_2, room) room.add_guest_to_room(self.guest_3, room) self.assertEqual(room.capacity, len(room.guest_list)) def test_to_many_guests_in_room(self): room = self.room_1 room.add_guest_to_room(self.guest_1, room) room.add_guest_to_room(self.guest_2, room) room.add_guest_to_room(self.guest_3, room) self.assertEqual("Room is full, please wait outside", room.add_guest_to_room(self.guest_4, room)) def test_to_many_guests_in_room2(self): room = self.room_1 room.add_guest_to_room(self.guest_1, room) room.add_guest_to_room(self.guest_2, room) room.add_guest_to_room(self.guest_3, room) room.add_guest_to_room(self.guest_4, room) self.assertEqual(room.capacity, len(room.guest_list)) def test_check_if_guest_has_enough_money(self): self.assertEqual(True, self.room_2.refuse_entry(self.guest_4, self.room_2)) def test_check_if_guest_has_enough_money2(self): self.room_2.add_guest_to_room(self.guest_4, self.room_2) self.assertEqual([], self.room_1.guest_list) def test_check_if_guest_has_enough_money3(self): self.room_2.add_guest_to_room(self.guest_3, self.room_2) self.assertEqual(1, len(self.room_2.guest_list)) def test_check_till(self): self.assertEqual(self.room_1.till, self.room_1.check_till(self.room_1)) def test_check_if_fee_add_to_till(self): self.room_1.add_entry_fee_to_till(self.room_1) self.assertEqual(120, self.room_1.check_till(self.room_1)) def test_if_guest_fav_song_is_in_room(self): self.room_1.add_song_to_list(self.song_1, self.room_1) self.assertEqual( "Whoo!", self.guest_1.fav_song_in_room(self.guest_1, self.room_1)) def test_remove_all_from_room(self): room = self.room_2 room.add_guest_to_room(self.guest_1, room) room.add_guest_to_room(self.guest_2, room) room.remove_all_from_room(room) self.assertEqual([], room.guest_list) self.assertEqual(160, room.check_till(room)) def test_sesion_time_out_empty_room(self): room = self.room_1 room.add_guest_to_room(self.guest_1, room) room.add_guest_to_room(self.guest_2, room) room.add_song_to_list(self.song_1, room) room.add_song_to_list(self.song_2, room) room.add_song_to_list(self.song_3, room) room.add_song_to_list(self.song_1, room) self.assertEqual([], room.guest_list)
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() self.songs = [ Song("Africa", "Toto"), Song("Don't Stop Believin'", "Journey"), Song("Wonderwall", "Oasis"), Song("Uptown Girl", "Billy Joel"), Song("Ring of Fire", "Johnny Cash"), ] self.guest = Guest("Timmy", 20) self.guest_not_in_room = Guest("Jimmy", 40) def test_empty_room_has_no_guests(self): expected = [] actual = self.room.guests self.assertEqual(expected, actual) def test_empty_room_has_no_songs(self): expected = [] actual = self.room.playlist self.assertEqual(expected, actual) def test_set_playlist_for_room__get_length(self): self.room.start_playlist(self.songs) expected = 5 actual = len(self.room.playlist) self.assertEqual(expected, actual) def test_playlist_items_are_song_objects(self): self.room.start_playlist(self.songs) expected = "Uptown Girl" actual = self.room.playlist[3].title self.assertEqual(expected, actual) def test_add_guest_to_room(self): self.room.add_guest_to_room(self.guest) expected = 1 actual = len(self.room.guests) self.assertEqual(expected, actual) def test_add_guest_to_room_adds_guest_object(self): self.room.add_guest_to_room(self.guest) expected = "Timmy" actual = self.room.guests[0].name self.assertEqual(expected, actual) def test_guest_can_leave_a_room(self): self.room.add_guest_to_room(self.guest) self.room.remove_guest(self.guest) expected = 0 actual = len(self.room.guests) self.assertEqual(expected, actual) def test_guest_can_leave_a_room__return(self): self.room.add_guest_to_room(self.guest) expected = True actual = self.room.remove_guest(self.guest) self.assertEqual(expected, actual) def test_is_guest_in_room(self): expected = False actual = self.room.is_guest_in_room(self.guest_not_in_room) self.assertEqual(expected, actual) def test_guest_cant_leave_room_theyre_not_in(self): self.room.add_guest_to_room(self.guest) expected = False actual = self.room.remove_guest(self.guest_not_in_room) self.assertEqual(expected, actual) def test_room_returns_guest_list(self): self.room.add_guest_to_room(self.guest) expected = [self.guest] actual = self.room.return_guest_list() self.assertEqual(expected, actual) #extensions def test_max_room_size_set(self): expected = 3 actual = self.room.max_size self.assertEqual(expected, actual) def test_room_has_fewer_guests_than_max(self): expected = True actual = self.room.room_has_space() self.assertEqual(expected, actual) def test_room_has_more_guests_than_max(self): self.room.add_guest_to_room(Guest("Timmy", 20)) self.room.add_guest_to_room(Guest("Timmy", 20)) self.room.add_guest_to_room(Guest("Timmy", 20)) self.room.add_guest_to_room(Guest("Timmy", 20)) self.room.add_guest_to_room(Guest("Timmy", 20)) expected = False actual = self.room.room_has_space() self.assertEqual(expected, actual) def test_room_cant_add_guests_past_max(self): self.room.add_guest_to_room(Guest("Jimmy", 40)) self.room.add_guest_to_room(Guest("Jimmy", 40)) self.room.add_guest_to_room(Guest("Jimmy", 40)) self.room.add_guest_to_room(Guest("Jimmy", 40)) expected = 3 actual = len(self.room.guests) self.assertEqual(expected, actual) def test_room_cant_add_guests_past_max__return_False(self): self.room.add_guest_to_room(Guest("Jimmy", 40)) self.room.add_guest_to_room(Guest("Jimmy", 40)) self.room.add_guest_to_room(Guest("Jimmy", 40)) expected = False actual = self.room.add_guest_to_room(Guest("Jimmy", 40)) self.assertEqual(expected, actual) def test_room_has_entry_fee(self): expected = 10 actual = self.room.entry_fee self.assertEqual(expected, actual) def test_guest_has_enough_money_to_enter(self): guest = Guest("Monty", 100) expected = True actual = self.room.enough_money(guest) self.assertEqual(expected, actual) def test_guest_does_not_have_enough_money_to_enter(self): guest = Guest("Tiny Tim", 1) expected = False actual = self.room.enough_money(guest) self.assertEqual(expected, actual)