示例#1
0
文件: tests.py 项目: eejd/microasync
 def test_value_passing_when_fnc(self):
     def fnc():
         return 52
     block = CoroutineBlock(fnc())
     block.process()
     self.assertTrue(block.delivered)
     self.assertEqual(block.value, 52)
示例#2
0
文件: tests.py 项目: eejd/microasync
    def test_block_parking(self):
        def fnc():
            yield Promise()
            yield Promise()

        block = CoroutineBlock(fnc())
        self.assertFalse(block.parked)
        block.process()
        self.assertTrue(block.parked)
        block._last_promise.delivery(True)
        self.assertFalse(block.parked)
示例#3
0
文件: tests.py 项目: eejd/microasync
    def test_values_passing_when_generator(self):
        def fnc():
            val = yield Promise()
            self.assertEqual(val, 50)
            return 12

        block = CoroutineBlock(fnc())
        block.process()
        block._last_promise.delivery(50)
        block.process()
        self.assertTrue(block.delivered)
        self.assertEqual(block.value, 12)