Coverage for tasks/test_tasks.py: 100%

25 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-05-12 11:24 -0400

1import pytest 

2 

3from birdbrain_tasks import BirdbrainTasks 

4 

5async def method_1(p): 

6 for i in range(40): 

7 print("method_1 running", p, i) 

8 

9 await BirdbrainTasks.yield_task() 

10 

11 return("method_1_return") 

12 

13async def method_2(p): 

14 for i in range(20): 

15 print("method_2 running", p, i) 

16 

17 await BirdbrainTasks.yield_task() 

18 

19 return(2) 

20 

21async def method_3(): 

22 for i in range(30): 

23 print("method_3 running", i) 

24 

25 await BirdbrainTasks.yield_task() 

26 

27def test_tasks_with_wait(): 

28 tasks = BirdbrainTasks() 

29 

30 tasks.create_task(method_1(999)) 

31 tasks.create_task(method_2("text")) 

32 tasks.create_task(method_3()) 

33 

34 tasks.run() 

35 

36 assert tasks.result("method_1") == "method_1_return" 

37 assert tasks.result("method_2") == 2 

38 assert tasks.result("method_3") is None