コード例 #1
0
ファイル: buy.py プロジェクト: agoundan/abce
 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
コード例 #2
0
 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_partial(offer, self.possession('cookies'))
                 assert is_zero(self.possession('cookies'))
                 assert self.possession('money') == cookies * offer['price']
                 self.tests['partial'] = True
コード例 #3
0
ファイル: buy.py プロジェクト: chathika/abce
 def three(self):
     """
     """
     if self.idn == 0:
         offer = self.info(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':
             assert self.money - offer['quantity'] * offer['price'] == self.possession('money')
             assert self.possession('cookies') == offer['quantity']
             self.tests['accepted'] = True
         elif offer['status'] == 'partial':
             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')
コード例 #4
0
 def three(self):
     """
     """
     if self.idn == 0:
         offer = self.info(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':
             assert self.money - offer['quantity'] * offer[
                 'price'] == self.possession('money')
             assert self.possession('cookies') == offer['quantity']
             self.tests['accepted'] = True
         elif offer['status'] == 'partial':
             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')