-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtest_sort.py
More file actions
executable file
·39 lines (26 loc) · 1.26 KB
/
test_sort.py
File metadata and controls
executable file
·39 lines (26 loc) · 1.26 KB
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
#!/usr/bin/env python3
"""
# test_sort.py
Perform unit testing on `sort.py`.
Licensed under "MIT No Attribution" (MIT-0), see <https://spdx.org/licenses/MIT-0>.
"""
import unittest
from sort import character_sorting_key, sort_variants
class TestSort(unittest.TestCase):
def test_character_sorting_key(self):
self.assertEqual(character_sorting_key('㐀'), (1, 0x3400))
self.assertEqual(character_sorting_key('䶵'), (1, 0x4DB5))
self.assertEqual(character_sorting_key('䷿'), (1, 0x4DFF))
self.assertEqual(character_sorting_key('一'), (0, 0x4E00))
self.assertEqual(character_sorting_key('鿐'), (0, 0x9FD0))
self.assertEqual(character_sorting_key('鿿'), (0, 0x9FFF))
self.assertEqual(character_sorting_key('ꀀ'), (1, 0xA000))
self.assertEqual(character_sorting_key('𠀋'), (1, 0x2000B))
self.assertEqual(character_sorting_key('𪚲'), (1, 0x2A6B2))
def test_sort_variants(self):
self.assertEqual(sort_variants('# CBA'), '# ABC')
self.assertEqual(sort_variants('# CBC'), '# BC')
self.assertEqual(sort_variants('# CBA (comment)'), '# ABC (comment)')
self.assertEqual(sort_variants('# CBC (comment)'), '# BC (comment)')
if __name__ == '__main__':
unittest.main()