Skip to content

Commit 2752cc4

Browse files
committed
Add tests for zlib
1 parent 128bd8c commit 2752cc4

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

tests/snippets/stdlib_zlib.py

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
import zlib
2+
from testutils import assert_raises
3+
4+
# checksum functions
5+
assert zlib.crc32(b"123") == 2286445522
6+
assert zlib.crc32(b"123", 1) == 2307525093
7+
assert zlib.crc32(b"123", 2) == 2345449404
8+
assert zlib.crc32(b"123", 3) == 2316230027
9+
assert zlib.crc32(b"123", 4) == 2403453710
10+
assert zlib.crc32(b"123", 5) == 2390991161
11+
assert zlib.crc32(b"123", 6) == 2361728864
12+
assert zlib.crc32(b"123", -123) == 3515918521
13+
assert zlib.crc32(b"123", -122) == 3554023136
14+
assert zlib.crc32(b"123", -121) == 3524558039
15+
assert zlib.crc32(b"123", -120) == 3645389802
16+
assert zlib.crc32(b"123", -119) == 3632943581
17+
assert zlib.crc32(b"123", -118) == 3670863748
18+
assert zlib.crc32(b"123") == zlib.crc32(b"123", 0)
19+
20+
assert zlib.adler32(b"456") == 20906144
21+
assert zlib.adler32(b"456", 1) == 20906144
22+
assert zlib.adler32(b"456", 2) == 21102753
23+
assert zlib.adler32(b"456", 3) == 21299362
24+
assert zlib.adler32(b"456", 4) == 21495971
25+
assert zlib.adler32(b"456", 5) == 21692580
26+
assert zlib.adler32(b"456", 6) == 21889189
27+
assert zlib.adler32(b"456", -123) == 393267
28+
assert zlib.adler32(b"456", -122) == 589876
29+
assert zlib.adler32(b"456", -121) == 786485
30+
assert zlib.adler32(b"456", -120) == 983094
31+
assert zlib.adler32(b"456", -119) == 1179703
32+
assert zlib.adler32(b"456", -118) == 1376312
33+
assert zlib.adler32(b"456") == zlib.adler32(b"456", 1)
34+
35+
# compression
36+
lorem = bytes("Lorem ipsum dolor sit amet", "utf-8")
37+
38+
compressed_lorem_list = [
39+
b"x\x01\x01\x1a\x00\xe5\xffLorem ipsum dolor sit amet\x83\xd5\t\xc5",
40+
b"x\x01\xf3\xc9/J\xcdU\xc8,(.\xcdUH\xc9\xcf\xc9/R(\xce,QH\xccM-\x01\x00\x83\xd5\t\xc5",
41+
b"x^\xf3\xc9/J\xcdU\xc8,(.\xcdUH\xc9\xcf\xc9/R(\xce,QH\xccM-\x01\x00\x83\xd5\t\xc5",
42+
b"x^\xf3\xc9/J\xcdU\xc8,(.\xcdUH\xc9\xcf\xc9/R(\xce,QH\xccM-\x01\x00\x83\xd5\t\xc5",
43+
b"x^\xf3\xc9/J\xcdU\xc8,(.\xcdUH\xc9\xcf\xc9/R(\xce,QH\xccM-\x01\x00\x83\xd5\t\xc5",
44+
b"x^\xf3\xc9/J\xcdU\xc8,(.\xcdUH\xc9\xcf\xc9/R(\xce,QH\xccM-\x01\x00\x83\xd5\t\xc5",
45+
b"x\x9c\xf3\xc9/J\xcdU\xc8,(.\xcdUH\xc9\xcf\xc9/R(\xce,QH\xccM-\x01\x00\x83\xd5\t\xc5",
46+
b"x\xda\xf3\xc9/J\xcdU\xc8,(.\xcdUH\xc9\xcf\xc9/R(\xce,QH\xccM-\x01\x00\x83\xd5\t\xc5",
47+
b"x\xda\xf3\xc9/J\xcdU\xc8,(.\xcdUH\xc9\xcf\xc9/R(\xce,QH\xccM-\x01\x00\x83\xd5\t\xc5",
48+
b"x\xda\xf3\xc9/J\xcdU\xc8,(.\xcdUH\xc9\xcf\xc9/R(\xce,QH\xccM-\x01\x00\x83\xd5\t\xc5",
49+
]
50+
51+
for level, text in enumerate(compressed_lorem_list):
52+
assert zlib.compress(lorem, level) == text
53+
54+
# default level
55+
assert zlib.compress(lorem) == zlib.compress(lorem, -1) == zlib.compress(lorem, 6)
56+
57+
# decompression
58+
for text in compressed_lorem_list:
59+
assert zlib.decompress(text) == lorem
60+
61+
assert_raises(zlib.error, lambda: zlib.compress(b"123", -40))
62+
assert_raises(zlib.error, lambda: zlib.compress(b"123", 10))

0 commit comments

Comments
 (0)