-
Notifications
You must be signed in to change notification settings - Fork 0
/
natcasesort_test.go
68 lines (64 loc) · 1.03 KB
/
natcasesort_test.go
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
package natcasesort
import (
"sort"
"testing"
)
func TestSort(t *testing.T) {
var samples = []struct {
in []string
expected []string
}{
{
[]string{"v", "u", "a", "p", "z", "P", "w"},
[]string{"a", "P", "p", "u", "v", "w", "z"},
},
{
[]string{"z", "x", "y", "p", "Z", "X", "Z"},
[]string{"p", "X", "x", "y", "Z", "Z", "z"},
},
{
[]string{"e", "x", "y", "p", "E", "X", "E"},
[]string{"E", "E", "e", "p", "X", "x", "y"},
},
{
[]string{"9", "a", "1", "f", "8", "A", "40", "e", "z", "7", "Z", "v", "13"},
[]string{"1", "7", "8", "9", "13", "40", "A", "a", "e", "f", "v", "Z", "z"},
},
}
for _, s := range samples {
for k, v := range s.expected {
sort.Sort(Sort(s.in))
if s.in[k] != v {
t.Errorf("Expecting %q Got: %q", v, s.in[k])
}
}
}
}
func TestOut(t *testing.T) {
in := []string{
"z",
"p",
"14",
"40",
"30",
"P",
"b",
"f",
"g",
"1",
"x",
"v",
"S",
"s",
"13",
"9",
"7",
"a",
"e",
"E",
"zz",
"A",
"aa"}
sort.Sort(Sort(in))
t.Log(in)
}