<<<<<<< HEAD from otree.api import Currency as c, currency_range, SubmissionMustFail, expect ======= from otree.api import Currency as c, currency_range, SubmissionMustFail >>>>>>> 0982dc5566ffb7cb2176b6338e4f4497a3d00fc3 from . import pages from ._builtin import Bot from .models import Constants class PlayerBot(Bot): cases = ['basic', 'p1_wins', 'all_0', 'all_max'] def play_round(self): case = self.case # Introduction <<<<<<< HEAD yield pages.Introduction if case == 'basic': for invalid_bid in [-1, 11]: yield SubmissionMustFail(pages.Bid, dict(bid_amount=invalid_bid)) ======= yield (pages.Introduction) if case == 'basic': for invalid_bid in [-1, 11]: yield SubmissionMustFail(pages.Bid, {"bid_amount": invalid_bid}) >>>>>>> 0982dc5566ffb7cb2176b6338e4f4497a3d00fc3 if case == 'p1_wins': if self.player.id_in_group == 1: bid_amount = 2 else: bid_amount = 1 elif case == 'all_0': bid_amount = 0 <<<<<<< HEAD else: # case == 'all_max': bid_amount = Constants.max_allowable_bid yield pages.Bid, dict(bid_amount=bid_amount) if case == 'p1_wins': if self.player.id_in_group == 1: expect('You won the auction', 'in', self.html) else: expect('You did not win', 'in', self.html) if self.player.id_in_group == 1: num_winners = sum([1 for p in self.group.get_players() if p.is_winner]) expect(num_winners, 1) ======= else: # case == 'all_max': bid_amount = Constants.max_allowable_bid yield (pages.Bid, {"bid_amount": bid_amount}) if case == 'p1_wins': if self.player.id_in_group == 1: assert 'You won the auction' in self.html else: assert 'You did not win' in self.html if self.player.id_in_group == 1: num_winners = sum([1 for p in self.group.get_players() if p.is_winner]) assert num_winners == 1 >>>>>>> 0982dc5566ffb7cb2176b6338e4f4497a3d00fc3 for field in [ self.player.bid_amount, self.player.payoff, self.player.item_value_estimate, <<<<<<< HEAD self.player.is_winner, ]: expect(field, '!=', None) yield pages.Results ======= self.player.is_winner ]: assert field != None yield (pages.Results) >>>>>>> 0982dc5566ffb7cb2176b6338e4f4497a3d00fc3