def testItWorks(self):
     self.assertEqual(4, self.count_agents('contract_nesting_agent'))
     agent1 = self.get_local('agent1').get_agent()
     yield agent1.start()
     for medium in self.driver.iter_agents('contract_nesting_agent'):
         agent = medium.get_agent()
         index = agent.get_from_state('index')
         if index == 1:
             # first agent is the one initiating, he doesnt have contractor
             # running
             continue
         self.assertTrue(agent.get_from_state('announce'))
         self.assertTrue(agent.get_from_state('granted'))
         self.assertTrue(agent.get_from_state('completed'))
    def testLastFailsGranted(self):
        agent4 = self.get_local('agent4').get_agent()
        agent1 = self.get_local('agent1').get_agent()
        agent4.got('should_fail_grant')
        d = agent1.start()
        self.assertFailure(d, ProtocolExpired)
        yield d

        for medium in self.driver.iter_agents('contract_nesting_agent'):
            agent = medium.get_agent()
            index = agent.get_from_state('index')
            if index == 1:
                # first agent is the one initiating, he doesnt have contractor
                # running
                continue
            self.assertTrue(agent.get_from_state('announce'))
            self.assertTrue(agent.get_from_state('granted'))
            self.assertFalse(agent.get_from_state('completed'))