Coverage for tasks/test_tasks.py: 100%
27 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-21 08:37 -0400
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-21 08:37 -0400
1import pytest
3from birdbrain_tasks import BirdbrainTasks
5async def method_1(p):
6 for i in range(40):
7 print("method_1 running", p, i)
9 await BirdbrainTasks.yield_task()
11 return("method_1_return")
13async def method_2(p):
14 for i in range(20):
15 print("method_2 running", p, i)
17 await BirdbrainTasks.yield_task()
19 return(2)
21async def method_3():
22 for i in range(30):
23 print("method_3 running", i)
25 await BirdbrainTasks.yield_task()
27def test_tasks_with_wait():
28 tasks = BirdbrainTasks()
30 tasks.create_task(method_1(999))
31 tasks.create_task(method_2("text"))
32 tasks.create_task(method_3())
34 tasks.run()
36 assert tasks.result("method_1") == "method_1_return"
37 assert tasks.result("method_2") == 2
38 assert tasks.result("method_3") is None
39 assert tasks.result("unknown") is None
40 assert tasks.result(None) is None