summaryrefslogtreecommitdiffstats
path: root/tests/tests_itertools.py
blob: bfb6eb2cd4c45b79015b6478b79eed2ce3517f29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
"""
Tests for `tqdm.contrib.itertools`.
"""
import itertools as it

from tqdm.contrib.itertools import product

from .tests_tqdm import StringIO, closing


class NoLenIter(object):
    def __init__(self, iterable):
        self._it = iterable

    def __iter__(self):
        for i in self._it:
            yield i


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(it.product(a, a[::-1]))

        assert list(product(a, NoLenIter(a), file=our_file)) == list(it.product(a, NoLenIter(a)))