1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 import copy
17
18 from twisted.trial import unittest
19
20 from elisa.core.utils import sorting
21
23
25
26 original = ["a2", "a1"]
27 expected = ["a1", "a2"]
28
29 sorting.natural_sort(original)
30 self.assertEquals(original, expected)
31
32
33 original = ["a2", "A1"]
34 expected = ["A1", "a2"]
35
36 sorting.natural_sort(original)
37 self.assertEquals(original, expected)
38
39
40 original = ["a 2", "a 1"]
41 expected = ["a 1", "a 2"]
42
43 sorting.natural_sort(original)
44 self.assertEquals(original, expected)
45
46
47 original = ["A13", "A1", "A2"]
48 expected = ["A1", "A2", "A13"]
49
50 sorting.natural_sort(original)
51 self.assertEquals(original, expected)
52
53 original = ["toto 12", "titi 42", "1 truc", "12 truc", "toto 1"]
54 expected = ["1 truc", "12 truc", "titi 42", "toto 1", "toto 12"]
55
56 sorting.natural_sort(original)
57 self.assertEquals(original, expected)
58
59
60
61
62 original = ['ver-1.3.12', 'ver-1.3.3', 'ver-1.2.5', 'ver-1.2.15', \
63 'ver-1.2.3', 'ver-1.2.1']
64 expected = ['ver-1.2.1', 'ver-1.2.3', 'ver-1.2.5', 'ver-1.2.15', \
65 'ver-1.3.3', 'ver-1.3.12']
66
67 sorting.natural_sort(original)
68 self.assertEquals(original, expected)
69
70 original = ['C1H2', 'C1H4', 'C2H2', 'C2H6', 'C2N', 'C3H6']
71 expected = ['C1H2', 'C1H4', 'C2H2', 'C2H6', 'C2N', 'C3H6']
72
73 sorting.natural_sort(original)
74 self.assertEquals(original, expected)
75
76 original = ['Team 101', 'Team 58', 'Team 30', 'Team 1']
77 expected = ['Team 1', 'Team 30', 'Team 58', 'Team 101']
78
79 sorting.natural_sort(original)
80 self.assertEquals(original, expected)
81
82 original = ['a5', 'A7', 'a15', 'a9', 'A8']
83 expected = ['a5', 'A7', 'A8', 'a9', 'a15']
84
85 sorting.natural_sort(original)
86 self.assertEquals(original, expected)
87