Exemplo n.º 1
0
    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')
Exemplo n.º 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(offer, self.possession('cookies'))
                 assert is_zero(self.possession('cookies'))
                 assert self.possession('money') == cookies * offer['price']
                 self.tests['partial'] = True
Exemplo n.º 3
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(offer, self.possession('cookies'))
                 assert is_zero(self.possession('cookies'))
                 assert self.possession('money') == cookies * offer['price']
                 self.tests['partial'] = True
Exemplo n.º 4
0
    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')