def three(self): """ """ if self.idn == 0: offer = self.offer if offer['status'] == 'rejected': test = self.money - self.possession('money') assert is_zero(test), test self.tests['rejected'] = True elif offer['status'] == 'accepted': if offer['final_quantity'] == offer['quantity']: assert self.money - offer['quantity'] * offer[ 'price'] == self.possession('money') assert self.possession('cookies') == offer['quantity'] self.tests['accepted'] = True else: test = (self.money - offer['final_quantity'] * offer['price']) - self.possession('money') assert is_zero(test), test test = self.possession('cookies') - offer['final_quantity'] assert is_zero(test), test self.tests['partial'] = True else: SystemExit('Error in buy')
def two(self): """ Acts only if he is agent 1: recieves offers and accepts; rejects; partially accepts and leaves offers unanswerd. """ if self.idn == 1: self.create('cookies', random.uniform(0, 10000)) cookies = self.possession('cookies') oo = self.get_offers('cookies') assert oo for offer in oo: if random.randint(0, 10) == 0: self.tests['not_answered'] = True continue elif random.randint(0, 10) == 0: self.reject(offer) assert self.possession('money') == 0 assert self.possession('cookies') == cookies self.tests['rejected'] = True break # tests the automatic clean-up of polled offers try: self.accept(offer) assert self.possession('money') == offer['price'] * offer['quantity'] assert self.possession('cookies') == cookies - offer['quantity'] self.tests['accepted'] = True except NotEnoughGoods: self.accept(offer, self.possession('cookies')) assert is_zero(self.possession('cookies')) assert self.possession('money') == cookies * offer['price'] self.tests['partial'] = True
def two(self): """ Acts only if he is agent 1: recieves offers and accepts; rejects; partially accepts and leaves offers unanswerd. """ if self.idn == 1: self.create('cookies', random.uniform(0, 10000)) cookies = self.possession('cookies') oo = self.get_offers('cookies') assert oo for offer in oo: if random.randint(0, 10) == 0: self.tests['not_answered'] = True continue elif random.randint(0, 10) == 0: self.reject(offer) assert self.possession('money') == 0 assert self.possession('cookies') == cookies self.tests['rejected'] = True break # tests the automatic clean-up of polled offers try: self.accept(offer) assert self.possession( 'money') == offer['price'] * offer['quantity'] assert self.possession( 'cookies') == cookies - offer['quantity'] self.tests['accepted'] = True except NotEnoughGoods: self.accept(offer, self.possession('cookies')) assert is_zero(self.possession('cookies')) assert self.possession('money') == cookies * offer['price'] self.tests['partial'] = True
def three(self): """ """ if self.idn == 0: offer = self.offer if offer['status'] == 'rejected': test = self.money - self.possession('money') assert is_zero(test), test self.tests['rejected'] = True elif offer['status'] == 'accepted': if offer['final_quantity'] == offer['quantity']: assert self.money - offer['quantity'] * offer['price'] == self.possession('money') assert self.possession('cookies') == offer['quantity'] self.tests['accepted'] = True else: test = (self.money - offer['final_quantity'] * offer['price']) - self.possession('money') assert is_zero(test), test test = self.possession('cookies') - offer['final_quantity'] assert is_zero(test), test self.tests['partial'] = True else: SystemExit('Error in buy')