-
Notifications
You must be signed in to change notification settings - Fork 0
/
tests.py
77 lines (69 loc) · 1.74 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
import unittest
from CDLLwS import CDLLwS
class Tests(unittest.TestCase):
def test_append(self):
l = CDLLwS()
l.append("a")
self.assertEqual(list(l), ["a"])
l.append("b")
self.assertEqual(list(l), ["a", "b"])
l.append("c")
self.assertEqual(list(l), ["a", "b", "c"])
l.append("d")
self.assertEqual(list(l), ["a", "b", "c", "d"])
l.append("e")
self.assertEqual(list(l), ["a", "b", "c", "d", "e"])
def test_insert(self):
l = CDLLwS()
l.insert(0, "a")
self.assertEqual(list(l), ["a"])
l.insert(0, "b")
self.assertEqual(list(l), ["b", "a"])
l.insert(1, "c")
self.assertEqual(list(l), ["b", "c", "a"])
l.insert(2, "d")
self.assertEqual(list(l), ["b", "c", "d", "a"])
l.insert(-1, "e")
self.assertEqual(list(l), ["b", "c", "d", "e", "a"])
def test_pop(self):
l = CDLLwS()
l.append("a")
l.append("b")
l.append("c")
l.append("d")
l.append("e")
x = l.pop(2)
self.assertEqual(x, "c")
self.assertEqual(list(l), ["a", "b", "d", "e"])
x = l.pop(0)
self.assertEqual(list(l), ["b", "d", "e"])
x = l.pop(-1)
self.assertEqual(list(l), ["b", "d"])
def test_index(self):
l = CDLLwS()
l.append("a")
l.append("b")
l.append("c")
l.append("d")
l.append("e")
self.assertEqual(l.index("a"), 0)
self.assertEqual(l.index("b"), 1)
self.assertEqual(l.index("c"), 2)
self.assertEqual(l.index("d"), 3)
self.assertEqual(l.index("e"), 4)
self.assertRaises(ValueError, l.index, "x")
def test_reverse(self):
l = CDLLwS()
l.append("a")
l.append("b")
l.append("c")
l.append("d")
l.append("e")
l_ = list(l)
l.reverse()
self.assertNotEqual(l_, list(l))
self.assertEqual(list(l), ["e", "d", "c", "b", "a"])
l.reverse()
self.assertEqual(l_, list(l))
if __name__ == "__main__":
unittest.main()