コード例 #1
0
    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")
コード例 #2
0
    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))
コード例 #3
0
 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)
コード例 #4
0
 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'])
コード例 #5
0
 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))
コード例 #6
0
 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)