Exemple #1
0
class TestRoom(unittest.TestCase):
    def setUp(self):
        self.guest_list = [
            Guest("Abbie"),
            Guest("Bob"),
            Guest("Carol"),
            Guest("Dave"),
            Guest("Emma"),
            Guest("Fred")
        ]

        self.room_1 = Room("Opium")
        self.room_2 = Room("Hive")

        self.song_list_1 = [
            Song("Mr. Brightside", "The Killers", "Rock"),
            Song("Back in Black", "AC/DC", "Rock"),
            Song("Walk", "Pantera", "Metal"),
            Song("Aerials", "System of a Down", "Metal"),
            Song("Welcome to the Jungle", "Guns N' Roses", "Rock")
        ]

        self.song_list_2 = [
            Song("Gold Digger", "Kanye West", "Hip hop"),
            Song("Shape of You", "Ed Sheeran", "Pop"),
            Song("Wannabe", "The Spice Girls", "Pop"),
            Song("I Write Sins Not Tragedies", "Panic! at the Disco",
                 "Pop Punk"),
            Song("Wake Me Up", "Avicii", "Dance")
        ]

    def test_room_has_name(self):
        self.assertEqual("Opium", self.room_1.name)

    def test_can_check_in_guest_to_room(self):
        self.room_1.check_in_guest(self.guest_list[0])
        self.assertEqual(1, self.room_1.guest_count())

    def test_can_check_out_guest_from_room(self):
        self.room_1.check_out_guest(self.guest_list[0])
        self.assertEqual(0, self.room_1.guest_count())

    def test_can_add_song_to_room(self):
        self.room_1.add_song_to_room(self.song_list_1[0])
        self.assertEqual(1, self.room_1.song_count())
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))
 def test_add_songs_to_rooms(self):
     room_1 = Room('The Heavy Room')
     room_1.add_song_to_room('Duality')
     self.assertEqual(True, 'Duality' in room_1.room_songs)
Exemple #4
0
class TestRoom(unittest.TestCase):
    def setUp(self):
        self.room = Room("Nintendo")

        self.song_1 = Song("Castle Theme")
        self.song_2 = Song("Dolphin Shoals")
        self.song_3 = Song("Gusty Garden Galaxy")
        self.song_4 = Song("Rosalina in the Observatory")
        self.song_5 = Song("A Boss Approaches")

        self.guest_1 = Guest("Mario", self.song_1, 100.00)
        self.guest_2 = Guest("Luigi", self.song_2, 30.00)
        self.guest_3 = Guest("Toad", self.song_3, 5.00)
        self.guest_4 = Guest("Peach", self.song_4, 70.00)
        self.guest_5 = Guest("Bowser", self.song_5, 40.00)

    def test_room_name_is_room_1(self):
        self.assertEqual("Nintendo", self.room.name)

    def test_room_has_dictionary_of_guests(self):
        self.assertEqual({}, self.room.guests)

    def test_room_can_check_in_guests(self):
        self.room.check_in_guest(self.guest_1)
        self.assertEqual({self.guest_1: self.song_1}, self.room.guests)

    def test_checkin_does_not_exceed_maximum_capacity(self):
        self.room.check_in_guest(self.guest_1)
        self.room.check_in_guest(self.guest_2)
        self.room.check_in_guest(self.guest_3)
        self.room.check_in_guest(self.guest_4)
        self.room.check_in_guest(self.guest_5)
        self.assertEqual(4, len(self.room.guests))

    def test_room_returns_message_when_full(self):
        self.room.check_in_guest(self.guest_1)
        self.room.check_in_guest(self.guest_2)
        self.room.check_in_guest(self.guest_3)
        self.room.check_in_guest(self.guest_4)
        self.assertEqual("Sorry, the room is full",
                         self.room.check_in_guest(self.guest_5))

    def test_room_can_check_out_guests(self):
        self.room.check_in_guest(self.guest_1)
        self.room.check_in_guest(self.guest_2)
        self.room.check_out_guest(self.guest_1)
        self.assertEqual({self.guest_2: self.song_2}, self.room.guests)

    def test_room_can_add_songs(self):
        self.room.add_song_to_room(self.song_2)
        self.assertEqual([self.song_2], self.room.playlist)

    def test_room_tab_increases_when_guest_is_checked_in(self):
        self.room.check_in_guest(self.guest_1)
        self.assertEqual(10.00, self.room.tab)

    def test_guest_cannot_enter_if_no_entry_fee(self):
        self.room.check_in_guest(self.guest_3)
        self.assertEqual(0.00, self.room.tab)

    def test_guest_cheers_if_favourite_song_in_playlist(self):
        self.room.add_song_to_room(self.song_4)
        self.room.check_in_guest(self.guest_4)
        self.assertEqual("Woop!", self.room.guest_cheers(self.guest_4))

    def test_guest_can_sing_song(self):
        self.room.add_song_to_room(self.song_2)
        self.room.check_in_guest(self.guest_2)
        self.room.guest_sings_a_song(self.song_2, self.guest_2)
        self.assertEqual("Singing...", self.guest_2.sing(self.song_2))
        self.assertEqual([], self.room.playlist)
Exemple #5
0
class TestRoom(unittest.TestCase):
    def setUp(self):
        self.room_1 = Room("Pop", 12.00, 4)
        self.room_2 = Room("Rock", 10.00, 6)
        self.room_3 = Room("Country", 10.00, 6)
        self.guest_1 = Guest("Alan Partridge", 80.00, "Cuddly Toy")
        self.guest_2 = Guest("Dan Moody", 100.00, "Let's Get It On")
        self.guest_3 = Guest("Geordie Michael", 60.00, "Back in the USSR")
        self.guest_4 = Guest("Tex", 60.00, "Whiskey In The Jar")
        self.guest_5 = Guest("Lynn Benfield", 120.00, "9 to 5")
        self.song_1 = Song("Cuddly Toy")

    def test_room_has_name(self):
        self.assertEqual("Pop", self.room_1.room_name)

    def test_room_has_entry_fee(self):
        self.assertEqual(12.00, self.room_1.entry_fee)

    def test_room_has_max_capacity(self):
        self.assertEqual(4, self.room_1.max_capacity)

    def test_room_can_check_in_guest(self):
        self.room_1.check_in_guest(self.guest_1, self.room_1)
        self.room_2.check_in_guest(self.guest_2, self.room_2)
        self.assertIn("Alan Partridge", self.room_1.guest_list)
        self.assertIn("Dan Moody", self.room_2.guest_list)

    def test_room_can_check_out_guest(self):
        self.room_1.check_in_guest(self.guest_1, self.room_1)
        self.room_1.check_in_guest(self.guest_2, self.room_1)
        self.room_1.check_out_guest(self.guest_2, self.room_1)
        self.assertIn("Alan Partridge", self.room_1.guest_list)

    def test_can_add_song_to_room(self):
        self.room_1.add_song_to_room(self.song_1, self.room_1)
        self.assertIn("Cuddly Toy", self.room_1.song_list)

    def test_room_will_reject_guest_when_full(self):
        self.room_1.guest_list = [
            "Dan Moody", "Alan Partridge", "Geordie Michael", "Tex"
        ]
        self.assertEqual("Room full",
                         self.room_1.check_in_guest(self.guest_5, self.room_1))

    def test_room_will_accept_guest_when_not_full(self):
        self.room_1.guest_list = [
            "Dan Moody", "Alan Partridge", "Geordie Michael"
        ]
        self.room_1.check_in_guest(self.guest_4, self.room_1)
        self.assertEqual(
            ["Dan Moody", "Alan Partridge", "Geordie Michael", "Tex"],
            self.room_1.guest_list)

    def test_fav_song_on_songlist_result_in_Whoo(self):
        self.room_1.song_list = [
            "Cuddly Toy", "Livin La Vida Loca", "All Rise"
        ]
        self.assertEqual(
            "Whoo!", self.room_1.check_for_fave_song(self.guest_1,
                                                     self.room_1))

    def test_fav_song_not_on_songlist_result_in_Boo(self):
        self.room_1.song_list = ["Livin La Vida Loca", "All Rise"]
        self.assertEqual(
            "Boo!", self.room_1.check_for_fave_song(self.guest_1, self.room_1))
Exemple #6
0
class TestRoom(unittest.TestCase):

    # MVP

    def setUp(self):
        self.room_1 = Room("The Popaoke room", 10, 15)
        self.room_2 = Room("The Countryaoke room", 6, 20)
        self.room_3 = Room("The Rockaoke room", 15, 10)
        self.room_4 = Room("The Rapaoke room", 2, 50)

        self.guest_1 = Guest("David", 150, "Jolene")
        self.guest_2 = Guest("Kyle", 100, "Lovers")
        self.guest_3 = Guest("Antonia", 200, "I should be so lucky")
        self.guest_4 = Guest("Ewen", 300, "We will rock you")

        self.song_1 = Song("I should be so lucky", "Kylie Minogue")
        self.song_2 = Song("Jolene", "Dolly Parton")
        self.song_3 = Song("We will rock you", "Queen")
        self.song_4 = Song("Not afraid", "Eminem")
        self.song_5 = Song("Lovers", "Kylie Minogue")

    def test_room_name(self):
        self.assertEqual("The Rockaoke room", self.room_3.name)

    def test_room_max_occupancy(self):
        self.assertEqual(10, self.room_1.max_occupancy)

    def test_check_in_guest_to_room(self):
        self.room_1.check_in_guest_to_room(self.guest_1)
        self.assertEqual(1, len(self.room_1.guests))

    def test_check_out_guest_from_room(self):
        self.room_3.check_in_guest_to_room(self.guest_4)
        self.room_3.check_out_guest_from_room(self.guest_4)
        self.assertEqual(0, len(self.room_3.guests))

    def test_check_out_guest_from_room_with_other_guests_still_in(self):
        self.room_2.check_in_guest_to_room(self.guest_1)
        self.room_2.check_in_guest_to_room(self.guest_2)
        self.room_2.check_in_guest_to_room(self.guest_3)
        self.room_2.check_out_guest_from_room(self.guest_2)
        self.assertEqual(2, len(self.room_2.guests))

    def test_add_song_to_room(self):
        self.room_4.add_song_to_room(self.song_4)
        self.assertEqual(1, len(self.room_4.songs))

    def test_add_multiple_songs_to_room(self):
        self.room_1.add_song_to_room(self.song_1)
        self.room_1.add_song_to_room(self.song_2)
        self.room_1.add_song_to_room(self.song_3)
        self.room_1.add_song_to_room(self.song_5)
        self.assertEqual(4, len(self.room_1.songs))

    def test_removing_song_from_room(self):
        self.room_2.add_song_to_room(self.song_4)
        self.room_2.remove_song_from_room(self.song_4)
        self.assertEqual(0, len(self.room_2.songs))

    def test_removing_song_from_room_with_multiple_songs(self):
        self.room_3.add_song_to_room(self.song_1)
        self.room_3.add_song_to_room(self.song_2)
        self.room_3.add_song_to_room(self.song_3)
        self.room_3.remove_song_from_room(self.song_2)
        self.assertEqual(2, len(self.room_3.songs))

# Extensions

    def test_room_capacity_right_number_of_guests(self):
        self.room_4.check_in_guest_to_room(self.guest_1)
        self.room_4.check_in_guest_to_room(self.guest_2)
        self.assertEqual(2, len(self.room_4.guests))

    def test_room_capacity_lower_number_of_guests(self):
        self.room_3.check_in_guest_to_room(self.guest_3)
        self.room_3.check_in_guest_to_room(self.guest_4)
        self.assertEqual(2, len(self.room_3.guests))

    def test_room_capacity_too_many_guests(self):
        self.room_4.check_in_guest_to_room(self.guest_1)
        self.room_4.check_in_guest_to_room(self.guest_3)
        self.room_4.check_in_guest_to_room(self.guest_4)
        self.assertEqual(2, len(self.room_4.guests))