diff --git a/IPython/parallel/tests/test_asyncresult.py b/IPython/parallel/tests/test_asyncresult.py index 0c112a9..53d4318 100644 --- a/IPython/parallel/tests/test_asyncresult.py +++ b/IPython/parallel/tests/test_asyncresult.py @@ -35,6 +35,9 @@ def wait(n): time.sleep(n) return n +def echo(x): + return x + class AsyncResultTest(ClusterTestCase): def test_single_result_view(self): @@ -77,6 +80,20 @@ class AsyncResultTest(ClusterTestCase): for eid,r in d.iteritems(): self.assertEqual(r, 5) + def test_get_dict_single(self): + view = self.client[-1] + for v in (range(5), 5, ('abc', 'def'), 'string'): + ar = view.apply_async(echo, v) + self.assertEqual(ar.get(), v) + d = ar.get_dict() + self.assertEqual(d, {view.targets : v}) + + def test_get_dict_bad(self): + ar = self.client[:].apply_async(lambda : 5) + ar2 = self.client[:].apply_async(lambda : 5) + ar = self.client.get_result(ar.msg_ids + ar2.msg_ids) + self.assertRaises(ValueError, ar.get_dict) + def test_list_amr(self): ar = self.client.load_balanced_view().map_async(wait, [0.1]*5) rlist = list(ar)