class TestGuest(unittest.TestCase):
    def setUp(self):
        self.song = Song("Don't Stop Believin'", "Journey")
        self.guest = Guest("Tim", 32, 20.5, self.song)

    def test_guest_has_name(self):
        self.assertEqual("Tim", self.guest.name)

    def test_guest_has_age(self):
        self.assertEqual(32, self.guest.age)

    def test_guest_has_wallet(self):
        self.assertEqual(20.5, self.guest.wallet)

    def test_guest_has_no_fav_song_if_not_provided(self):
        guest_no_fav = Guest("Bob", 60, 100)
        self.assertEqual(None, guest_no_fav.fav_song)

    def test_guest_has_fav_song_if_provided(self):
        self.assertEqual(self.song, self.guest.fav_song)

    def test_guest_wallet_reduction(self):
        self.guest.reduce_wallet(5)
        self.assertEqual(15.5, self.guest.wallet)

    def test_guest_cheer(self):
        self.assertEqual("Whoo! They have my favourite song!",
                         self.guest.cheer())
Пример #2
0
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))
Пример #3
0
 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))