-
Notifications
You must be signed in to change notification settings - Fork 0
/
tests.py
87 lines (79 loc) · 2.08 KB
/
tests.py
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import pytest
from redpie import Redpie
@pytest.fixture
def r():
r = Redpie(10)
r.clear()
return r
def test_all(r):
r['qwe'] = 2
assert r['qwe'] is 2
assert 'qwe' in r
assert 'q' not in r
del(r['qwe'])
with pytest.raises(KeyError):
del(r['qwe'])
r['qwe'] = 2
assert format(r) == "{'qwe': 2}"
i = iter(r)
assert next(i) == 'qwe'
with pytest.raises(StopIteration):
next(i)
assert len(r) is 1
r['www'] = 3
assert len(r) is 2
del(r['www'])
r.__reduce__()
assert r.__repr__() == "{'qwe': 2}"
assert r._redis.dbsize() > 0
r.clear()
assert r._redis.dbsize() is 0
r['qwe'] = 2
assert r.get('qwe') is 2
assert r.get('w') is None
assert r.get('w', 4) is 4
assert type(r.keys()) is type({}.keys())
assert list(r.keys()) == ['qwe']
assert r._redis.dbsize() is 1
assert r.pop('qwe') is 2
with pytest.raises(KeyError):
assert r.pop('qwe')
assert r._redis.dbsize() is 0
r['qwe'] = 2
key, value = r.popitem()
assert key == 'qwe'
assert value is 2
with pytest.raises(KeyError):
r.popitem()
assert r.setdefault('qwe', 1) is 1
assert r.setdefault('qwe', 2) is 1
assert list(r.keys()) == ['qwe']
r.clear()
r['qwe'] = 2
r['qqq'] = 3
r.update({'qwe':1, 'zzz':4})
assert r._redis.dbsize() is 3
assert r['qwe'] is 1
assert r['qqq'] is 3
assert r['zzz'] is 4
assert 4 in list(r.values())
assert 1 in list(r.values())
assert 3 in list(r.values())
assert r == {'qwe': 1, 'qqq': 3, 'zzz': 4}
assert r != {'aaa': 1, 'bbb': 3, 'zzz': 5}
assert r != {'qwe': 1, 'qqq': 3, 'zzz': 5}
assert r != 1
assert r != {'w': 2}
its = r.items()
assert type(its) == type({}.items())
assert ('qwe', 1) in list(its)
assert ('qqq', 3) in list(its)
assert ('zzz', 4) in list(its)
with pytest.raises(KeyError):
r['rrr']
with pytest.raises(NotImplementedError):
r.fromkeys('qd')
with pytest.raises(NotImplementedError):
r.copy()
r2 = Redpie()
print(r2)