/
test_min_dq.py
89 lines (82 loc) · 2.02 KB
/
test_min_dq.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
88
89
from min_dq import MinDeque
def test_remove_first():
dq = MinDeque()
dq.add_first(10)
dq.add_first(30)
dq.add_first(40)
assert dq.remove_first() == 40
assert dq.remove_first() == 30
assert dq.remove_first() == 10
assert dq.remove_first() == None
def test_add_first():
dq = MinDeque()
dq.add_first(10)
assert dq.remove_first() == 10
dq.add_first(10)
dq.add_first(30)
dq.add_first(40)
assert dq.remove_first() == 40
assert dq.remove_first() == 30
assert dq.remove_first() == 10
assert dq.remove_first() == None
def test_add_remove():
dq = MinDeque()
dq.add_first(10)
dq.add_last(20)
dq.add_first(30)
dq.add_last(60)
dq.add_first(70)
assert dq.remove_last() == 60
assert dq.remove_last() == 20
dq.add_last(50)
assert dq.remove_first() == 70
assert dq.remove_last() == 50
assert dq.remove_first() == 30
assert dq.remove_last() == 10
assert dq.remove_first() == None
assert dq.remove_last() == None
def test_size():
dq = MinDeque()
assert dq.size() == 0
dq.add_first(10)
assert dq.size() == 1
dq.remove_first()
assert dq.size() == 0
dq.remove_last()
assert dq.size() == 0
dq.add_last(20)
dq.add_first(30)
assert dq.size() == 2
dq.add_last(60)
dq.add_first(70)
assert dq.size() == 4
dq.remove_last()
assert dq.size() == 3
dq.remove_first()
assert dq.size() == 2
dq.remove_first()
assert dq.size() == 1
dq.remove_first()
assert dq.size() == 0
dq.remove_first()
dq.remove_last()
assert dq.size() == 0
def test_min():
dq = MinDeque()
dq.add_first(50)
assert dq.min() == 50
dq.add_last(20)
assert dq.min() == 20
dq.add_first(40)
assert dq.min() == 20
dq.add_last(10)
dq.add_first(30)
assert dq.min() == 10
dq.remove_last()
assert dq.min() == 20
dq.remove_last()
assert dq.min() == 30
dq.remove_first()
assert dq.min() == 40
dq.remove_first()
assert dq.min() == 50