mirror of
https://github.com/eiblog/eiblog.git
synced 2026-03-01 00:34:58 +08:00
add vendor
This commit is contained in:
+205
@@ -0,0 +1,205 @@
|
||||
package txn
|
||||
|
||||
import (
|
||||
"sort"
|
||||
|
||||
. "gopkg.in/check.v1"
|
||||
)
|
||||
|
||||
type DocKeySuite struct{}
|
||||
|
||||
var _ = Suite(&DocKeySuite{})
|
||||
|
||||
type T struct {
|
||||
A int
|
||||
B string
|
||||
}
|
||||
|
||||
type T2 struct {
|
||||
A int
|
||||
B string
|
||||
}
|
||||
|
||||
type T3 struct {
|
||||
A int
|
||||
B string
|
||||
}
|
||||
|
||||
type T4 struct {
|
||||
A int
|
||||
B string
|
||||
}
|
||||
|
||||
type T5 struct {
|
||||
F int
|
||||
Q string
|
||||
}
|
||||
|
||||
type T6 struct {
|
||||
A int
|
||||
B string
|
||||
}
|
||||
|
||||
type T7 struct {
|
||||
A bool
|
||||
B float64
|
||||
}
|
||||
|
||||
type T8 struct {
|
||||
A int
|
||||
B string
|
||||
}
|
||||
|
||||
type T9 struct {
|
||||
A int
|
||||
B string
|
||||
C bool
|
||||
}
|
||||
|
||||
type T10 struct {
|
||||
C int `bson:"a"`
|
||||
D string `bson:"b,omitempty"`
|
||||
}
|
||||
|
||||
type T11 struct {
|
||||
C int
|
||||
D string
|
||||
}
|
||||
|
||||
type T12 struct {
|
||||
S string
|
||||
}
|
||||
|
||||
type T13 struct {
|
||||
p, q, r bool
|
||||
S string
|
||||
}
|
||||
|
||||
var docKeysTests = [][]docKeys{
|
||||
{{
|
||||
{"c", 1},
|
||||
{"c", 5},
|
||||
{"c", 2},
|
||||
}, {
|
||||
{"c", 1},
|
||||
{"c", 2},
|
||||
{"c", 5},
|
||||
}}, {{
|
||||
{"c", "foo"},
|
||||
{"c", "bar"},
|
||||
{"c", "bob"},
|
||||
}, {
|
||||
{"c", "bar"},
|
||||
{"c", "bob"},
|
||||
{"c", "foo"},
|
||||
}}, {{
|
||||
{"c", 0.2},
|
||||
{"c", 0.07},
|
||||
{"c", 0.9},
|
||||
}, {
|
||||
{"c", 0.07},
|
||||
{"c", 0.2},
|
||||
{"c", 0.9},
|
||||
}}, {{
|
||||
{"c", true},
|
||||
{"c", false},
|
||||
{"c", true},
|
||||
}, {
|
||||
{"c", false},
|
||||
{"c", true},
|
||||
{"c", true},
|
||||
}}, {{
|
||||
{"c", T{1, "b"}},
|
||||
{"c", T{1, "a"}},
|
||||
{"c", T{0, "b"}},
|
||||
{"c", T{0, "a"}},
|
||||
}, {
|
||||
{"c", T{0, "a"}},
|
||||
{"c", T{0, "b"}},
|
||||
{"c", T{1, "a"}},
|
||||
{"c", T{1, "b"}},
|
||||
}}, {{
|
||||
{"c", T{1, "a"}},
|
||||
{"c", T{0, "a"}},
|
||||
}, {
|
||||
{"c", T{0, "a"}},
|
||||
{"c", T{1, "a"}},
|
||||
}}, {{
|
||||
{"c", T3{0, "b"}},
|
||||
{"c", T2{1, "b"}},
|
||||
{"c", T3{1, "a"}},
|
||||
{"c", T2{0, "a"}},
|
||||
}, {
|
||||
{"c", T2{0, "a"}},
|
||||
{"c", T3{0, "b"}},
|
||||
{"c", T3{1, "a"}},
|
||||
{"c", T2{1, "b"}},
|
||||
}}, {{
|
||||
{"c", T5{1, "b"}},
|
||||
{"c", T4{1, "b"}},
|
||||
{"c", T5{0, "a"}},
|
||||
{"c", T4{0, "a"}},
|
||||
}, {
|
||||
{"c", T4{0, "a"}},
|
||||
{"c", T5{0, "a"}},
|
||||
{"c", T4{1, "b"}},
|
||||
{"c", T5{1, "b"}},
|
||||
}}, {{
|
||||
{"c", T6{1, "b"}},
|
||||
{"c", T7{true, 0.2}},
|
||||
{"c", T6{0, "a"}},
|
||||
{"c", T7{false, 0.04}},
|
||||
}, {
|
||||
{"c", T6{0, "a"}},
|
||||
{"c", T6{1, "b"}},
|
||||
{"c", T7{false, 0.04}},
|
||||
{"c", T7{true, 0.2}},
|
||||
}}, {{
|
||||
{"c", T9{1, "b", true}},
|
||||
{"c", T8{1, "b"}},
|
||||
{"c", T9{0, "a", false}},
|
||||
{"c", T8{0, "a"}},
|
||||
}, {
|
||||
{"c", T9{0, "a", false}},
|
||||
{"c", T8{0, "a"}},
|
||||
{"c", T9{1, "b", true}},
|
||||
{"c", T8{1, "b"}},
|
||||
}}, {{
|
||||
{"b", 2},
|
||||
{"a", 5},
|
||||
{"c", 2},
|
||||
{"b", 1},
|
||||
}, {
|
||||
{"a", 5},
|
||||
{"b", 1},
|
||||
{"b", 2},
|
||||
{"c", 2},
|
||||
}}, {{
|
||||
{"c", T11{1, "a"}},
|
||||
{"c", T11{1, "a"}},
|
||||
{"c", T10{1, "a"}},
|
||||
}, {
|
||||
{"c", T10{1, "a"}},
|
||||
{"c", T11{1, "a"}},
|
||||
{"c", T11{1, "a"}},
|
||||
}}, {{
|
||||
{"c", T12{"a"}},
|
||||
{"c", T13{false, true, false, "a"}},
|
||||
{"c", T12{"b"}},
|
||||
{"c", T13{false, true, false, "b"}},
|
||||
}, {
|
||||
{"c", T12{"a"}},
|
||||
{"c", T13{false, true, false, "a"}},
|
||||
{"c", T12{"b"}},
|
||||
{"c", T13{false, true, false, "b"}},
|
||||
}},
|
||||
}
|
||||
|
||||
func (s *DocKeySuite) TestSort(c *C) {
|
||||
for _, test := range docKeysTests {
|
||||
keys := test[0]
|
||||
expected := test[1]
|
||||
sort.Sort(keys)
|
||||
c.Check(keys, DeepEquals, expected)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user