diff options
Diffstat (limited to 'test/test_util.py')
| -rw-r--r-- | test/test_util.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/test_util.py b/test/test_util.py index 7ab1175..2921ea2 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -15,6 +15,7 @@ import io import random import string import datetime +import itertools import http.cookiejar sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) @@ -541,6 +542,41 @@ class TestOther(unittest.TestCase): r = util.filter_dict(d) self.assertEqual(r, {"foo": 123}) + def test_enumerate_reversed(self): + + seq = [11, 22, 33] + result = [(3, 33), (2, 22), (1, 11)] + + def gen(): + for i in seq: + yield i + + def gen_2(): + yield from seq + + def assertEqual(it1, it2): + ae = self.assertEqual + for i1, i2 in itertools.zip_longest(it1, it2): + ae(i1, i2) + + assertEqual( + util.enumerate_reversed(seq), [(2, 33), (1, 22), (0, 11)]) + assertEqual( + util.enumerate_reversed(seq, 1), result) + assertEqual( + util.enumerate_reversed(seq, 2), [(4, 33), (3, 22), (2, 11)]) + + assertEqual( + util.enumerate_reversed(gen(), 0, len(seq)), + [(2, 33), (1, 22), (0, 11)]) + assertEqual( + util.enumerate_reversed(gen(), 1, len(seq)), result) + assertEqual( + util.enumerate_reversed(gen_2(), 1, len(seq)), result) + assertEqual( + util.enumerate_reversed(gen_2(), 2, len(seq)), + [(4, 33), (3, 22), (2, 11)]) + def test_number_to_string(self, f=util.number_to_string): self.assertEqual(f(1) , "1") self.assertEqual(f(1.0) , "1.0") |
