aboutsummaryrefslogtreecommitdiff
path: root/tests/functional/i/iterable_context_py36.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional/i/iterable_context_py36.py')
-rw-r--r--tests/functional/i/iterable_context_py36.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/functional/i/iterable_context_py36.py b/tests/functional/i/iterable_context_py36.py
new file mode 100644
index 000000000..d50d3da98
--- /dev/null
+++ b/tests/functional/i/iterable_context_py36.py
@@ -0,0 +1,41 @@
+# pylint: disable=missing-docstring,too-few-public-methods,unused-variable,unnecessary-comprehension
+import asyncio
+
+class AIter:
+ async def __aiter__(self):
+ for value in range(20):
+ yield value
+
+ async def to_list(self):
+ values = [m async for m in self]
+ other_values = [m for m in self] # [not-an-iterable]
+ for value in self: # [not-an-iterable]
+ yield value
+ async for value in self:
+ yield value
+
+
+async def some_iter_func(number):
+ """ emits 1 number per second """
+ for i in range(1, number):
+ yield i
+ await asyncio.sleep(1)
+
+
+async def count_to(number):
+ """ counts to n in async manner"""
+ async for i in some_iter_func(number):
+ print(i)
+
+
+async def gen_values(num_values):
+ for value in range(num_values):
+ yield value
+
+
+async def do_some_comprehensions():
+ sets = {elem async for elem in gen_values(10)}
+ lists = [elem async for elem in gen_values(10)]
+ dicts = {elem: elem async for elem in gen_values(10)}
+ gen = (elem async for elem in gen_values(10))
+ return sets, lists, dicts, gen