@@ -0,0 +1,1731 @@
+import unittest%0A%0Aimport swf.models%0Aimport swf.models.decision%0Aimport swf.actors%0A%0A%0Aclass TestDecider(unittest.TestCase):%0A    def setUp(self):%0A        self.domain = swf.models.Domain(%22TestDomain%22)%0A        self.task_list = 'test'%0A        self.execution = None%0A%0A    def tearDown(self):%0A        if self.execution is not None:%0A            self.execution.terminate()%0A%0A    def test_poll(self):%0A        %22%22%22%0A        Checks :meth:%60Decider.poll%60 retrieve all the history's pages.%0A%0A        %22%22%22%0A        domain = self.domain%0A        task_list = self.task_list%0A        workflow_name = 'TestDeciderPoll'%0A%0A        decider = swf.actors.Decider(domain, task_list)%0A        worker = swf.actors.ActivityWorker(domain, task_list)%0A%0A        activity = swf.models.ActivityType(domain=domain,%0A                                           name='task',%0A                                           version='test')%0A%0A        workflow = swf.models.WorkflowType(name=workflow_name,%0A                                           domain=domain,%0A                                           version='test')%0A        self.execution = workflow.start_execution(workflow_name, task_list)%0A%0A        for i in xrange(30):%0A            token, history = decider.poll()%0A            self.assertEqual(len(history), 3 + i * 6)%0A            decision = swf.models.decision.task.ActivityTaskDecision(%0A                'schedule',%0A                'task',%0A                activity,%0A                task_list=task_list,%0A                task_timeout='600',%0A                duration_timeout='600',%0A                schedule_timeout='600',%0A                heartbeat_timeout='600')%0A            decider.complete(token, %5Bdecision%5D)%0A%0A            token, task = worker.poll()%0A            worker.complete(token)%0A

Add tests for Decider.poll()