def test_process_raises_abort_execution(self): r = collections.OrderedDict() def f(): raise core.AbortExecution("aborted execution") core._add_input(r, 'a', f) i = core._resolve_item(r['a']) with self.assertRaises(core.AbortExecution) as e: core._process_item(i, TestProcessItem.context_fn) self.assertEqual(str(e.exception), "aborted execution")
def test_process_raises_other_exception(self): r = collections.OrderedDict() class CustomException(Exception): pass def f(): raise CustomException("aborted custom") core._add_input(r, 'a', f) i = core._resolve_item(r['a']) with self.assertRaises(core.AbortExecution) as e: core._process_item(i, TestProcessItem.context_fn) self.assertTrue("aborted custom" in str(e.exception))
def test_process_input_function(self): r = collections.OrderedDict() f = lambda: 2 core._add_input(r, 'a', lambda: f) i = core._resolve_item(r['a']) v = core._process_item(i, TestProcessItem.context_fn) self.assertEqual(v, 2)
def test_process_compute_with_dependencies(self): r = collections.OrderedDict() core._add_input(r, 'a', 1) f1 = lambda c: c add_compute_helper(r, 'b', f1, ['a']) i = core._resolve_item(r['b']) v = core._process_item(i, TestProcessItem.context_fn) self.assertEqual(v, ['a'])
def test_process_detects_invalid_type(self): i = core.ResolvedItem(None, 'a', 'a', 1, [], set(), True) with self.assertRaises(core.AbortExecution) as e: core._process_item(i, TestProcessItem.context_fn) self.assertTrue("Got unexpected type: None" in str(e.exception))
def test_process_input_value(self): r = collections.OrderedDict() core._add_input(r, 'a', 1) i = core._resolve_item(r['a']) v = core._process_item(i, TestProcessItem.context_fn) self.assertEqual(v, 1)