class TestGuest(unittest.TestCase): def setUp(self): self._song_1 = Song("Highway to Hell", "AC/DC") self._song_2 = Song("The Clansman", "Iron Maiden") self._song_3 = Song("Ace of Spades", "Motorhead") self._songs = [self._song_1, self._song_2, self._song_3] song = Song("Ace of Spades", "Motorhead") self._guest = Guest("Jack", 20, song) def test_guest_has_name(self): self.assertEqual("Jack", self._guest.get_name()) def test_guest_has_cash(self): self.assertEqual(20, self._guest.get_cash()) def test_guest_has_favourite_song(self): self.assertEqual("Ace of Spades", self._guest.get_favourite_song().get_title()) def test_guest_can_change_favourite_song(self): song = Song("The Clansman", "Iron Maiden") self._guest.set_favourite_song(song) self.assertEqual("The Clansman", self._guest.get_favourite_song().get_title()) def test_guest_can_afford_10(self): self.assertEqual(True, self._guest.can_afford(10)) def test_guest_can_afford_20(self): self.assertEqual(True, self._guest.can_afford(20)) def test_guest_cannot_afford_30(self): self.assertEqual(False, self._guest.can_afford(30)) def test_guest_can_pay_amount(self): self._guest.pay(10) self.assertEqual(10, self._guest.get_cash()) def test_guest_cheers_when_fave_song_in_list(self): result = self._guest.cheer(self._songs) self.assertEqual("Whoo Hoo!", result) def test_guest_does_not_cheer_when_fave_song_not_in_list(self): song = Song("Back in Black", "AC/DC") guest = Guest("Tam", 2, song) self.assertEqual(None, guest.cheer(self._songs))
class TestGuest(unittest.TestCase): def setUp(self): self.room_01 = Room("The Party Room", 4, 5.00) self.room_02 = Room("The Date Room", 2, 10.00) self.drink_01 = Drink("Gaffer's Home Brew", 5, 1.20) self.drink_02 = Drink("Dry Martini", 2, 3.40) self.drink_03 = Drink("Margarita", 2, 3.40) self.drink_04 = Drink("Manhattan", 2, 3.40) self.drink_05 = Drink("Sazerac", 3, 4.25) self.drink_06 = Drink("Highball", 1, 2.60) self.song_01 = Song("Come on Eileen", "Dexys Midnight Runners") self.song_02 = Song("Mr Blue Sky", "ELO") self.song_03 = Song("Bat out of Hell", "Meatloaf") self.song_04 = Song("You're so Vain", "Carly Simon") self.song_05 = Song("Tubthumping", "Chumbawamba") self.song_06 = Song("Accidentally in Love", "Counting Crows") self.guest_01 = Guest("Frodo Baggins", 51, 30.50, self.song_04, self.drink_06) self.guest_02 = Guest("Samwise Gamgee", 36, 10.75, self.song_03, self.drink_01) self.guest_03 = Guest("Meriadoc Brandybuck", 37, 23.60, self.song_01, self.drink_05) self.guest_04 = Guest("Peregrin Took", 29, 17.85, self.song_05, self.drink_03) def test_guest_has_name(self): name = self.guest_01.name self.assertEqual("Frodo Baggins", name) def test_guest_has_age(self): age = self.guest_01.age self.assertEqual(51, age) def test_guest_has_wallet(self): wallet = round(self.guest_02.wallet, 2) self.assertEqual(10.75, wallet) def test_wallet_can_decrease(self): self.guest_04.decrease_wallet(4.85) self.assertEqual(round(self.guest_04.wallet, 2), 13.00) def test_guest_can_pay_entry(self): self.guest_03.pay_entry(self.room_01) self.assertEqual(round(self.guest_03.wallet, 2), 18.60) self.assertEqual(round(self.room_01.bill, 2), 5.00) def test_guest_has_favourite_song(self): fav_song = self.guest_01.fav_song self.assertEqual(self.song_04, fav_song) def test_reacts_to_fav_song(self): self.room_01.add_song(self.song_01) reaction = self.guest_03.react_to_song(self.room_01) self.assertEqual("Wahey!", reaction) def test_guest_has_favourite_drink(self): fav = self.guest_02.fav_drink self.assertEqual(self.drink_01, fav) def test_guest_can_afford_drink_false(self): self.guest_02.pay_entry(self.room_02) result = self.guest_02.can_afford(self.drink_01) self.assertEqual(False, result) def test_guest_can_afford_drink_true(self): self.guest_01.pay_entry(self.room_02) result = self.guest_01.can_afford(self.drink_01) self.assertEqual(True, result) def test_guest_singing_prowess_starts_at_0(self): confidence = self.guest_02.singing_prowess self.assertEqual(0, confidence) def test_prowess_can_increase(self): self.guest_02.increase_prowess(5) self.assertEqual(5, self.guest_02.singing_prowess) def test_customer_can_buy_drink(self): self.guest_03.pay_entry(self.room_01) self.guest_03.buy_drink(self.drink_05, self.room_01) self.assertEqual(14.35, round(self.guest_03.wallet, 2)) self.assertEqual(9.25, round(self.room_01.bill, 2)) self.assertEqual(3, self.guest_03.singing_prowess)