forked from maeday/quiz-section-exercises
/
test_sort.py
118 lines (89 loc) · 4.31 KB
/
test_sort.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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import unittest
from sort import sortfile
from sortalgs import mergesort, quicksort, radixsort, selectionsort
class TestSortFunctions(unittest.TestCase):
def setUp(self):
self.list_url = [
'https://www.google.com',
'https://github.com/',
'http://www.google.com',
'http://www.facebook.com',
'http://www.facebook.com/groups/405662882833858/407845452615601/?comment_id=407863142613832¬if_t=group_comment_reply',
'http://www.stackoverflow.com/'
]
self.list_url_sorted = [
'http://www.facebook.com',
'http://www.facebook.com/groups/405662882833858/407845452615601/?comment_id=407863142613832¬if_t=group_comment_reply',
'http://www.google.com',
'http://www.stackoverflow.com/',
'https://github.com/',
'https://www.google.com'
]
self.list_char = [
'b', 'c', 'a', 'd', 'e', 'f', 'z', 'q'
]
self.list_char_sorted = [
'a', 'b', 'c', 'd', 'e', 'f', 'q', 'z'
]
self.list_string = [
'bade', '12zztt5j', 'abc3', 'abc2', 'a9bc2', 'z1jlk', 'acjk', 'qqqqqj', '62lll', '12zzt2kz777', 'bade5j', 'badbz7l'
]
self.list_string_sorted = [
'12zzt2kz777', '12zztt5j', '62lll', 'a9bc2', 'abc2', 'abc3', 'acjk', 'badbz7l', 'bade', 'bade5j', 'qqqqqj', 'z1jlk'
]
self.list_ascii = [
'r', 'R', '/', '.', ';', '+', '>', '<', '=', '?', '-', '%', '[', '5'
]
self.list_ascii_sorted = [
'%', '+', '-', '.', '/', '5', ';', '<', '=', '>', '?', 'R', '[', 'r',
]
def test_char_quicksort(self):
self.assertEqual(self.list_char_sorted, quicksort(self.list_char))
def test_char_mergesort(self):
self.assertEqual(self.list_char_sorted, mergesort(self.list_char))
def test_char_radixsort(self):
self.assertEqual(self.list_char_sorted, radixsort(self.list_char))
def test_char_selectionsort(self):
self.assertEqual(self.list_char_sorted, selectionsort(self.list_char))
def test_string_quicksort(self):
self.assertEqual(self.list_string_sorted, quicksort(self.list_string))
def test_string_mergesort(self):
self.assertEqual(self.list_string_sorted, mergesort(self.list_string))
def test_string_radixsort(self):
self.assertEqual(self.list_string_sorted, radixsort(self.list_string))
def test_string_selectionsort(self):
self.assertEqual(self.list_string_sorted, selectionsort(self.list_string))
def test_empty_quicksort(self):
self.assertEqual([], quicksort([]))
def test_empty_mergesort(self):
self.assertEqual([], mergesort([]))
def test_empty_radixsort(self):
self.assertEqual([], radixsort([]))
def test_empty_selectionsort(self):
self.assertEqual([], selectionsort([]))
def test_one_quicksort(self):
self.assertEqual(['a'], quicksort(['a']))
def test_one_mergesort(self):
self.assertEqual(['a'], mergesort(['a']))
def test_one_radixsort(self):
self.assertEqual(['a'], radixsort(['a']))
def test_one_selectionsort(self):
self.assertEqual(['a'], selectionsort(['a']))
def test_ascii_quicksort(self):
self.assertEqual(self.list_ascii_sorted, quicksort(self.list_ascii))
def test_ascii_mergesort(self):
self.assertEqual(self.list_ascii_sorted, mergesort(self.list_ascii))
def test_ascii_radixsort(self):
self.assertEqual(self.list_ascii_sorted, radixsort(self.list_ascii))
def test_ascii_selectionsort(self):
self.assertEqual(self.list_ascii_sorted, selectionsort(self.list_ascii))
def test_url_quicksort(self):
self.assertEqual(self.list_url_sorted, quicksort(self.list_url))
def test_url_mergesort(self):
self.assertEqual(self.list_url_sorted, mergesort(self.list_url))
def test_url_radixsort(self):
self.assertEqual(self.list_url_sorted, radixsort(self.list_url))
def test_url_selectionsort(self):
self.assertEqual(self.list_url_sorted, selectionsort(self.list_url))
if __name__ == '__main__':
unittest.main()