def can_buy(self, player, bid):
return any(roster_slot.accepts(player) and roster_slot.occupant is None for roster_slot in self.roster) andbid <= self.max_bid() andnot self.owns(player)<EOL>
:param Player player: player to check
:param int bid: bid amount
:return boolean: true iff this owner has space in the roster for the given player and has enough to
    bid the given amount and has not already purchased this player