...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package mvcc
16
17 import (
18 "bytes"
19 "math"
20 "reflect"
21 "testing"
22 )
23
24
25
26
27 func TestRevision(t *testing.T) {
28 tests := []revision{
29
30 {},
31 {main: 1, sub: 0},
32 {main: 1, sub: 1},
33 {main: 2, sub: 0},
34 {main: math.MaxInt64, sub: math.MaxInt64},
35 }
36
37 bs := make([][]byte, len(tests))
38 for i, tt := range tests {
39 b := newRevBytes()
40 revToBytes(tt, b)
41 bs[i] = b
42
43 if grev := bytesToRev(b); !reflect.DeepEqual(grev, tt) {
44 t.Errorf("#%d: revision = %+v, want %+v", i, grev, tt)
45 }
46 }
47
48 for i := 0; i < len(tests)-1; i++ {
49 if bytes.Compare(bs[i], bs[i+1]) >= 0 {
50 t.Errorf("#%d: %v (%+v) should be smaller than %v (%+v)", i, bs[i], tests[i], bs[i+1], tests[i+1])
51 }
52 }
53 }
54
View as plain text