You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
723 B
28 lines
723 B
4 years ago
|
"""
|
||
|
Tests for `tqdm.contrib.itertools`.
|
||
|
"""
|
||
|
from tqdm.contrib.itertools import product
|
||
|
from tests_tqdm import with_setup, pretest, posttest, StringIO, closing
|
||
|
import itertools
|
||
|
|
||
|
|
||
|
class NoLenIter(object):
|
||
|
def __init__(self, iterable):
|
||
|
self._it = iterable
|
||
|
|
||
|
def __iter__(self):
|
||
|
for i in self._it:
|
||
|
yield i
|
||
|
|
||
|
|
||
|
@with_setup(pretest, posttest)
|
||
|
def test_product():
|
||
|
"""Test contrib.itertools.product"""
|
||
|
with closing(StringIO()) as our_file:
|
||
|
a = range(9)
|
||
|
assert list(product(a, a[::-1], file=our_file)) == \
|
||
|
list(itertools.product(a, a[::-1]))
|
||
|
|
||
|
assert list(product(a, NoLenIter(a), file=our_file)) == \
|
||
|
list(itertools.product(a, NoLenIter(a)))
|