aboutsummaryrefslogtreecommitdiff
path: root/circuitpython/tools/huffman/tests/test_util.py
blob: 099d009d281ec7e536050b0057a83b3fb93f5147 (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
27
28
29
30
31
32
33
34
35
36
37
38
39
from __future__ import absolute_import, print_function

import random
import unittest

from .util import is_sorted, popper

class TestIsSorted(unittest.TestCase):

    def test_is_sorted(self):
        assert is_sorted([1])
        assert is_sorted([1, 2])
        assert is_sorted([1, 2, 3])
        assert is_sorted([1, 2, 2])
        assert is_sorted([2, 2, 2])
        assert is_sorted([])
        assert is_sorted((1, 2, 3))
        assert is_sorted('abc')
        assert is_sorted('123')
        assert is_sorted('eggs')
        assert is_sorted(iter([1, 2, 3]))

    def test_is_not_sorted(self):
        assert not is_sorted([3, 2, 1])
        assert not is_sorted([2, 2, 1])
        assert not is_sorted('spam')


class TestPopper(unittest.TestCase):

    def test_popper(self):
        for i in range(10):
            x = list(range(i))

            j = 0
            for _ in popper(x):
                j += 1

            self.assertEqual(i, j)