@@ -44,21 +44,21 @@ func TestDBSet_Empty(t *testing.T) {
44
44
requireEmpty (t , s .Items ())
45
45
requireEmpty (t , s .Received ())
46
46
47
- info , err := s .GetRangeInfo ( nil , nil )
47
+ info , err := s .SetInfo ( )
48
48
require .NoError (t , err )
49
49
require .Equal (t , 0 , info .Count )
50
50
require .Equal (t , "000000000000000000000000" , info .Fingerprint .String ())
51
51
requireEmpty (t , info .Items )
52
52
53
- info , err = s .GetRangeInfo (
53
+ info , err = s .RangeInfo (
54
54
rangesync .MustParseHexKeyBytes ("0000000000000000000000000000000000000000000000000000000000000000" ),
55
55
rangesync .MustParseHexKeyBytes ("0000000000000000000000000000000000000000000000000000000000000000" ))
56
56
require .NoError (t , err )
57
57
require .Equal (t , 0 , info .Count )
58
58
require .Equal (t , "000000000000000000000000" , info .Fingerprint .String ())
59
59
requireEmpty (t , info .Items )
60
60
61
- info , err = s .GetRangeInfo (
61
+ info , err = s .RangeInfo (
62
62
rangesync .MustParseHexKeyBytes ("0000000000000000000000000000000000000000000000000000000000000000" ),
63
63
rangesync .MustParseHexKeyBytes ("9999000000000000000000000000000000000000000000000000000000000000" ))
64
64
require .NoError (t , err )
@@ -69,7 +69,7 @@ func TestDBSet_Empty(t *testing.T) {
69
69
70
70
func TestDBSet (t * testing.T ) {
71
71
ids := []rangesync.KeyBytes {
72
- rangesync .MustParseHexKeyBytes ("0000000000000000000000000000000000000000000000000000000000000000 " ),
72
+ rangesync .MustParseHexKeyBytes ("1111111111111111111111111111111111111111111111111111111111111111 " ),
73
73
rangesync .MustParseHexKeyBytes ("123456789abcdef0000000000000000000000000000000000000000000000000" ),
74
74
rangesync .MustParseHexKeyBytes ("5555555555555555555555555555555555555555555555555555555555555555" ),
75
75
rangesync .MustParseHexKeyBytes ("8888888888888888888888888888888888888888888888888888888888888888" ),
@@ -81,94 +81,126 @@ func TestDBSet(t *testing.T) {
81
81
IDColumn : "id" ,
82
82
}
83
83
s := dbset .NewDBSet (db , st , testKeyLen , testDepth )
84
- require .Equal (t , "0000000000000000000000000000000000000000000000000000000000000000 " ,
84
+ require .Equal (t , "1111111111111111111111111111111111111111111111111111111111111111 " ,
85
85
firstKey (t , s .Items ()).String ())
86
86
has , err := s .Has (
87
87
rangesync .MustParseHexKeyBytes ("9876000000000000000000000000000000000000000000000000000000000000" ))
88
88
require .NoError (t , err )
89
89
require .False (t , has )
90
90
91
- for _ , tc := range []struct {
92
- xIdx , yIdx int
93
- limit int
94
- fp string
95
- count int
96
- startIdx , endIdx int
97
- }{
98
- {
99
- xIdx : 1 ,
100
- yIdx : 1 ,
101
- limit : - 1 ,
102
- fp : "642464b773377bbddddddddd" ,
103
- count : 5 ,
104
- startIdx : 1 ,
105
- endIdx : 1 ,
106
- },
107
- {
108
- xIdx : - 1 ,
109
- yIdx : - 1 ,
110
- limit : - 1 ,
111
- fp : "642464b773377bbddddddddd" ,
112
- count : 5 ,
113
- startIdx : 0 ,
114
- endIdx : 0 ,
115
- },
116
- {
117
- xIdx : 0 ,
118
- yIdx : 3 ,
119
- limit : - 1 ,
120
- fp : "4761032dcfe98ba555555555" ,
121
- count : 3 ,
122
- startIdx : 0 ,
123
- endIdx : 3 ,
124
- },
125
- {
126
- xIdx : 2 ,
127
- yIdx : 0 ,
128
- limit : - 1 ,
129
- fp : "761032cfe98ba54ddddddddd" ,
130
- count : 3 ,
131
- startIdx : 2 ,
132
- endIdx : 0 ,
133
- },
134
- {
135
- xIdx : 3 ,
136
- yIdx : 2 ,
137
- limit : 3 ,
138
- fp : "2345679abcdef01888888888" ,
139
- count : 3 ,
140
- startIdx : 3 ,
141
- endIdx : 1 ,
142
- },
143
- } {
144
- name := fmt .Sprintf ("%d-%d_%d" , tc .xIdx , tc .yIdx , tc .limit )
145
- t .Run (name , func (t * testing.T ) {
146
- var x , y rangesync.KeyBytes
147
- if tc .xIdx >= 0 {
91
+ t .Run ("RangeInfo" , func (t * testing.T ) {
92
+ for _ , tc := range []struct {
93
+ xIdx , yIdx int
94
+ fp string
95
+ count int
96
+ startIdx , endIdx int
97
+ }{
98
+ {
99
+ xIdx : 1 ,
100
+ yIdx : 1 ,
101
+ fp : "753575a662266aaccccccccc" ,
102
+ count : 5 ,
103
+ startIdx : 1 ,
104
+ endIdx : 1 ,
105
+ },
106
+ {
107
+ xIdx : 0 ,
108
+ yIdx : 3 ,
109
+ fp : "5670123cdef89ab444444444" ,
110
+ count : 3 ,
111
+ startIdx : 0 ,
112
+ endIdx : 3 ,
113
+ },
114
+ {
115
+ xIdx : 2 ,
116
+ yIdx : 0 ,
117
+ fp : "761032cfe98ba54ddddddddd" ,
118
+ count : 3 ,
119
+ startIdx : 2 ,
120
+ endIdx : 0 ,
121
+ },
122
+ } {
123
+ name := fmt .Sprintf ("%d-%d" , tc .xIdx , tc .yIdx )
124
+ t .Run (name , func (t * testing.T ) {
125
+ var x , y rangesync.KeyBytes
148
126
x = ids [tc .xIdx ]
149
127
y = ids [tc .yIdx ]
150
- }
151
- t .Logf ("x %v y %v limit %d" , x , y , tc .limit )
152
- var info rangesync.RangeInfo
153
- if tc .limit < 0 {
154
- info , err = s .GetRangeInfo (x , y )
128
+ t .Logf ("x %v y %v" , x , y )
129
+ var info rangesync.RangeInfo
130
+ info , err = s .RangeInfo (x , y )
131
+ require .NoError (t , err )
132
+ require .Equal (t , tc .count , info .Count )
133
+ require .Equal (t , tc .fp , info .Fingerprint .String ())
134
+ require .Equal (t , ids [tc .startIdx ], firstKey (t , info .Items ))
135
+ has , err := s .Has (ids [tc .startIdx ])
155
136
require .NoError (t , err )
156
- } else {
137
+ require .True (t , has )
138
+ has , err = s .Has (ids [tc .endIdx ])
139
+ require .NoError (t , err )
140
+ require .True (t , has )
141
+ })
142
+ }
143
+ })
144
+
145
+ t .Run ("SplitRange" , func (t * testing.T ) {
146
+ for _ , tc := range []struct {
147
+ xIdx , yIdx int
148
+ limit int
149
+ fp string
150
+ count int
151
+ startIdx , endIdx int
152
+ }{
153
+ {
154
+ xIdx : 3 ,
155
+ yIdx : 2 ,
156
+ limit : 3 ,
157
+ fp : "3254768badcfe10999999999" ,
158
+ count : 3 ,
159
+ startIdx : 3 ,
160
+ endIdx : 1 ,
161
+ },
162
+ {
163
+ xIdx : 3 ,
164
+ yIdx : 3 ,
165
+ limit : 2 ,
166
+ fp : "2345679abcdef01888888888" ,
167
+ count : 2 ,
168
+ startIdx : 3 ,
169
+ endIdx : 3 ,
170
+ },
171
+ } {
172
+ name := fmt .Sprintf ("%d-%d_%d" , tc .xIdx , tc .yIdx , tc .limit )
173
+ t .Run (name , func (t * testing.T ) {
174
+ var x , y rangesync.KeyBytes
175
+ x = ids [tc .xIdx ]
176
+ y = ids [tc .yIdx ]
177
+ t .Logf ("x %v y %v limit %d" , x , y , tc .limit )
178
+ var info rangesync.RangeInfo
157
179
sr , err := s .SplitRange (x , y , tc .limit )
158
180
require .NoError (t , err )
159
181
info = sr .Parts [0 ]
160
- }
161
- require .Equal (t , tc .count , info .Count )
162
- require .Equal (t , tc .fp , info .Fingerprint .String ())
163
- require .Equal (t , ids [tc .startIdx ], firstKey (t , info .Items ))
164
- has , err := s .Has (ids [tc .startIdx ])
165
- require .NoError (t , err )
166
- require .True (t , has )
167
- has , err = s .Has (ids [tc .endIdx ])
168
- require .NoError (t , err )
169
- require .True (t , has )
170
- })
171
- }
182
+ require .Equal (t , tc .count , info .Count )
183
+ require .Equal (t , tc .fp , info .Fingerprint .String ())
184
+ require .Equal (t , ids [tc .startIdx ], firstKey (t , info .Items ))
185
+ has , err := s .Has (ids [tc .startIdx ])
186
+ require .NoError (t , err )
187
+ require .True (t , has )
188
+ has , err = s .Has (ids [tc .endIdx ])
189
+ require .NoError (t , err )
190
+ require .True (t , has )
191
+ })
192
+ }
193
+ })
194
+
195
+ t .Run ("SetInfo" , func (t * testing.T ) {
196
+ info , err := s .SetInfo ()
197
+ require .NoError (t , err )
198
+ require .Equal (t , 5 , info .Count )
199
+ require .Equal (t , "753575a662266aaccccccccc" , info .Fingerprint .String ())
200
+ items , err := info .Items .Collect ()
201
+ require .NoError (t , err )
202
+ require .Equal (t , ids , items )
203
+ })
172
204
}
173
205
174
206
func TestDBSet_Receive (t * testing.T ) {
@@ -195,7 +227,7 @@ func TestDBSet_Receive(t *testing.T) {
195
227
require .NoError (t , err )
196
228
require .Equal (t , []rangesync.KeyBytes {newID }, items )
197
229
198
- info , err := s .GetRangeInfo (ids [2 ], ids [0 ])
230
+ info , err := s .RangeInfo (ids [2 ], ids [0 ])
199
231
require .NoError (t , err )
200
232
require .Equal (t , 2 , info .Count )
201
233
require .Equal (t , "dddddddddddddddddddddddd" , info .Fingerprint .String ())
@@ -218,7 +250,7 @@ func TestDBSet_Copy(t *testing.T) {
218
250
firstKey (t , s .Items ()).String ())
219
251
220
252
require .NoError (t , s .WithCopy (context .Background (), func (copy rangesync.OrderedSet ) error {
221
- info , err := copy .GetRangeInfo (ids [2 ], ids [0 ])
253
+ info , err := copy .RangeInfo (ids [2 ], ids [0 ])
222
254
require .NoError (t , err )
223
255
require .Equal (t , 2 , info .Count )
224
256
require .Equal (t , "dddddddddddddddddddddddd" , info .Fingerprint .String ())
@@ -228,15 +260,15 @@ func TestDBSet_Copy(t *testing.T) {
228
260
"abcdef1234567890000000000000000000000000000000000000000000000000" )
229
261
require .NoError (t , copy .Receive (newID ))
230
262
231
- info , err = s .GetRangeInfo (ids [2 ], ids [0 ])
263
+ info , err = s .RangeInfo (ids [2 ], ids [0 ])
232
264
require .NoError (t , err )
233
265
require .Equal (t , 2 , info .Count )
234
266
require .Equal (t , "dddddddddddddddddddddddd" , info .Fingerprint .String ())
235
267
require .Equal (t , ids [2 ], firstKey (t , info .Items ))
236
268
237
269
requireEmpty (t , s .Received ())
238
270
239
- info , err = s .GetRangeInfo (ids [2 ], ids [0 ])
271
+ info , err = s .RangeInfo (ids [2 ], ids [0 ])
240
272
require .NoError (t , err )
241
273
require .Equal (t , 2 , info .Count )
242
274
require .Equal (t , "dddddddddddddddddddddddd" , info .Fingerprint .String ())
@@ -267,13 +299,13 @@ func TestDBItemStore_Advance(t *testing.T) {
267
299
require .NoError (t , os .EnsureLoaded ())
268
300
269
301
require .NoError (t , os .WithCopy (context .Background (), func (copy rangesync.OrderedSet ) error {
270
- info , err := os .GetRangeInfo (ids [0 ], ids [0 ])
302
+ info , err := os .RangeInfo (ids [0 ], ids [0 ])
271
303
require .NoError (t , err )
272
304
require .Equal (t , 4 , info .Count )
273
305
require .Equal (t , "cfe98ba54761032ddddddddd" , info .Fingerprint .String ())
274
306
require .Equal (t , ids [0 ], firstKey (t , info .Items ))
275
307
276
- info , err = copy .GetRangeInfo (ids [0 ], ids [0 ])
308
+ info , err = copy .RangeInfo (ids [0 ], ids [0 ])
277
309
require .NoError (t , err )
278
310
require .Equal (t , 4 , info .Count )
279
311
require .Equal (t , "cfe98ba54761032ddddddddd" , info .Fingerprint .String ())
@@ -284,27 +316,27 @@ func TestDBItemStore_Advance(t *testing.T) {
284
316
"abcdef1234567890000000000000000000000000000000000000000000000000" ),
285
317
})
286
318
287
- info , err = os .GetRangeInfo (ids [0 ], ids [0 ])
319
+ info , err = os .RangeInfo (ids [0 ], ids [0 ])
288
320
require .NoError (t , err )
289
321
require .Equal (t , 4 , info .Count )
290
322
require .Equal (t , "cfe98ba54761032ddddddddd" , info .Fingerprint .String ())
291
323
require .Equal (t , ids [0 ], firstKey (t , info .Items ))
292
324
293
- info , err = copy .GetRangeInfo (ids [0 ], ids [0 ])
325
+ info , err = copy .RangeInfo (ids [0 ], ids [0 ])
294
326
require .NoError (t , err )
295
327
require .Equal (t , 4 , info .Count )
296
328
require .Equal (t , "cfe98ba54761032ddddddddd" , info .Fingerprint .String ())
297
329
require .Equal (t , ids [0 ], firstKey (t , info .Items ))
298
330
299
331
require .NoError (t , os .Advance ())
300
332
301
- info , err = os .GetRangeInfo (ids [0 ], ids [0 ])
333
+ info , err = os .RangeInfo (ids [0 ], ids [0 ])
302
334
require .NoError (t , err )
303
335
require .Equal (t , 5 , info .Count )
304
336
require .Equal (t , "642464b773377bbddddddddd" , info .Fingerprint .String ())
305
337
require .Equal (t , ids [0 ], firstKey (t , info .Items ))
306
338
307
- info , err = copy .GetRangeInfo (ids [0 ], ids [0 ])
339
+ info , err = copy .RangeInfo (ids [0 ], ids [0 ])
308
340
require .NoError (t , err )
309
341
require .Equal (t , 4 , info .Count )
310
342
require .Equal (t , "cfe98ba54761032ddddddddd" , info .Fingerprint .String ())
@@ -314,7 +346,7 @@ func TestDBItemStore_Advance(t *testing.T) {
314
346
}))
315
347
316
348
require .NoError (t , os .WithCopy (context .Background (), func (copy rangesync.OrderedSet ) error {
317
- info , err := copy .GetRangeInfo (ids [0 ], ids [0 ])
349
+ info , err := copy .RangeInfo (ids [0 ], ids [0 ])
318
350
require .NoError (t , err )
319
351
require .Equal (t , 5 , info .Count )
320
352
require .Equal (t , "642464b773377bbddddddddd" , info .Fingerprint .String ())
0 commit comments