Example #1
0
class TestGuest(unittest.TestCase):
    def setUp(self):
        self.guest_1 = Guest("Cyril", "Yes!", "VIP", 30000, "Dddudu")
        self.guest_2 = Guest("James", "Whoop!", "Regular", 800, "Perfect")
        self.room = Room("The Wonderland", 90, 400, 0)

    def test_guest_has_name(self):
        self.assertEqual("Cyril", self.guest_1.name)

    def test_guest_has_celebration(self):
        self.assertEqual("Yes!", self.guest_1.celebration)

    def test_guest_status(self):
        self.assertEqual("VIP", self.guest_1.status)

    def test_guest_has_wallet(self):
        self.assertEqual(30000, self.guest_1.wallet)

    def test_guest_has_paid_fee(self):
        self.guest_1.pay_fee(self.room)
        self.guest_2.pay_fee(self.room)
        self.assertEqual(29600, self.guest_1.wallet)
        self.assertEqual(710, self.guest_2.wallet)

    def test_guest_has_fav_song(self):
        self.assertEqual("Dddudu", self.guest_1.favourite_song)
Example #2
0
class TestGuest(unittest.TestCase):

    # Testing that classes have been Setup OK

    def setUp(self):

        self.song_1 = Song('S001', 'Nickleback', 'Faraway')
        self.song_2 = Song('S002', 'The Weekend', 'Save Your Tears')
        self.song_3 = Song('S003', 'Daxten', 'Somewhere Out There')

        playlist_1 = [self.song_1, self.song_2]

        self.guest_1 = Guest('Joey Tribbiani', 100.00, 'Entrance Hallway',
                             'S001')
        self.guest_2 = Guest('Ross Gellar', 75.00, 'Entrance Hallway', 'S002')
        self.guest_3 = Guest('Chandler Bing', 50.00, 'Pop Paradise', 'S002')

        current_visitors_1 = [self.guest_1, self.guest_2]

        self.room = Room('Pop Paradise', 30, 5.00, 0.00, current_visitors_1,
                         playlist_1)

    def test_guest_has__guest_name(self):
        self.assertEqual('Joey Tribbiani', self.guest_1.guest_name)

    def test_guest_has__wallet(self):
        self.assertEqual(100.00, self.guest_1.wallet)

    def test_guest_has__current_room(self):
        self.assertEqual('Entrance Hallway', self.guest_1.current_room)

    def test_guest_has__favourite_song(self):
        self.assertEqual('S001', self.guest_1.favourite_song)

# Testing Methods needed for adding guest to a room

# Advanced Check-in/out

    def test_guest__can_afford_fee_high_wallet(self):
        self.assertEqual(True, self.guest_1.check_affordabilty(self.room.fee))

    def test_guest__can_afford_fee_low_wallet(self):
        guest_low_wallet = Guest('Gunther', 0.00, 'Entrance Hallway', 'S005')
        self.assertEqual(False,
                         guest_low_wallet.check_affordabilty(self.room.fee))

    def test_guest__can_afford_fee_exact_wallet(self):
        guest_exact_wallet = Guest('Gunther', 5.00, 'Entrance Hallway', 'S005')
        self.assertEqual(True,
                         guest_exact_wallet.check_affordabilty(self.room.fee))

    def test_pay_fee(self):
        self.assertEqual(95.00, self.guest_1.pay_fee(self.room.fee))
        self.assertEqual(70.00, self.guest_2.pay_fee(self.room.fee))
        self.assertEqual(45.00, self.guest_3.pay_fee(self.room.fee))

    def test_set_current_room(self):
        self.assertEqual('Pop Paradise', self.guest_1.set_room('Pop Paradise'))
Example #3
0
class TestRoom(unittest.TestCase):
    def setUp(self):
        self.room = Room("The Wonderland", 90, 400, 0)

        self.guest_1 = Guest("Cyril", "Yes!", "VIP", 30000, "Dddudu")
        self.guest_2 = Guest("Max", "Yayy", "Regular", 400, "Perfect")
        self.guest_3 = Guest("David", "Grmm", "VIP", 300, "See you again")
        self.guest_4 = Guest("Daniel", "Whoop", "VIP", 8000, "Gucci")

        self.song_1 = Song("Dddudu", "Blackpink")
        self.song_2 = Song("Perfect", "Ed sheeran")
        self.song_3 = Song("Gucci", "Jessie")

        red_wine = Bar("Red Wine", 300)
        jack_daniels = Bar("Jack Daniels", 200)
        johnny_walker = Bar("Johnny Walker", 400)
        water = Bar("Water", 10)

        self.vip_drinks = [{
            "Drink": red_wine,
            "quantity": 9
        }, {
            "Drink": jack_daniels,
            "quantity": 4
        }, {
            "Drink": johnny_walker,
            "quantity": 5
        }, {
            "Drink": water,
            "quantity": 50
        }]

    def test_name_of_room(self):
        self.assertEqual("The Wonderland", self.room.name)

    def test_room_has_fee(self):
        self.assertEqual(400, self.room.vip_fee)

    def test_room_fee(self):
        self.assertEqual(0, self.room.till)

    def test_guest_sorted(self):
        self.room.add_guest(self.guest_1)
        self.room.add_guest(self.guest_1)
        self.room.add_guest(self.guest_2)
        self.room.add_guest(self.guest_2)
        self.assertEqual(2, len(self.room.vip_guest))
        self.assertEqual(2, len(self.room.regular_guest))

    def test_checkout_guest(self):
        self.room.add_guest(self.guest_1)
        self.room.add_guest(self.guest_1)
        self.room.add_guest(self.guest_1)
        self.room.check_out_guest(self.guest_1)
        self.room.add_guest(self.guest_2)
        self.room.add_guest(self.guest_2)
        self.room.check_out_guest(self.guest_2)
        self.assertEqual(2, len(self.room.vip_guest))
        self.assertEqual(1, len(self.room.regular_guest))

    def test_song_added_to_list(self):
        self.room.add_songs(self.song_1)
        self.room.add_songs(self.song_2)
        self.assertEqual(2, len(self.room.songs))

    def test_minimize_number_of_guests(self):
        self.room.add_guest(self.guest_1)
        self.room.add_guest(self.guest_1)
        self.room.add_guest(self.guest_1)
        self.room.add_guest(self.guest_1)
        self.room.add_guest(self.guest_1)
        self.room.add_guest(self.guest_1)
        self.room.add_guest(self.guest_1)
        self.room.add_guest(self.guest_1)
        self.room.restrict_guest(self.guest_1)
        self.assertEqual(8, len(self.room.vip_guest))
        self.assertEqual(3, self.room.waiting_line)

    def test_minimize_number_of_regular_guests(self):
        self.room.add_guest(self.guest_2)
        self.room.add_guest(self.guest_2)
        self.room.add_guest(self.guest_2)
        self.room.add_guest(self.guest_2)
        self.room.add_guest(self.guest_2)
        self.room.add_guest(self.guest_2)
        self.room.restrict_guest(self.guest_2)
        self.assertEqual(1, self.room.waiting_line)

    def test_room_till(self):
        self.guest_1.pay_fee(self.room)
        self.guest_2.pay_fee(self.room)
        self.assertEqual(490, self.room.till)

    def test_guest_cant_afford(self):
        self.room.guest_can_afford(self.guest_3)
        self.assertEqual(0, self.room.till)

    def test_guest_can_afford(self):
        self.room.guest_can_afford(self.guest_1)
        self.assertEqual(400, self.room.till)

    def test_guest_can_find_song_by_artist(self):
        self.room.add_songs(self.song_1)
        self.room.add_songs(self.song_2)
        self.assertEqual("Perfect",
                         self.room.guest_can_find_song(self.song_2.artist))

    def test_guest_favourite_song(self):
        self.room.add_songs(self.song_1)
        self.room.add_songs(self.song_2)
        self.room.add_songs(self.song_3)
        self.assertEqual("Yes!", self.room.play_song(self.guest_1))
        self.assertEqual("Nahhh", self.room.play_song(self.guest_3))

    def test_pub_add_drink(self):
        self.room.add_drink(self.vip_drinks[1])
        self.room.add_drink(self.vip_drinks[1])
        self.assertEqual(6, self.vip_drinks[1]["quantity"])

    def test_pub_remove_drink(self):
        self.room.add_drink(self.vip_drinks[2])
        self.room.add_drink(self.vip_drinks[2])
        self.room.remove_drink(self.vip_drinks[2])
        self.assertEqual(6, self.vip_drinks[2]["quantity"])

    def test_guest_sell_drink(self):
        self.guest_4.pay_fee(self.room)
        self.room.sell_drink(self.guest_4, self.vip_drinks[1])
        self.room.add_songs(self.song_3)
        self.assertEqual(600, self.room.till)
        self.assertEqual(3, self.vip_drinks[1]["quantity"])
        self.assertEqual(7400, self.guest_4.wallet)
        self.assertEqual("Whoop", self.room.play_song(self.guest_4))