@@ -138,51 +138,54 @@ func TestIndexItem_MatchRangeV1(t *testing.T) {
138
138
dataItems : []dataContainer {
139
139
{
140
140
begins : 21 ,
141
- ends : 29 ,
141
+ ends : 30 ,
142
142
data : []byte {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 },
143
143
},
144
144
{
145
145
begins : 30 ,
146
- ends : 35 ,
146
+ ends : 36 ,
147
147
data : []byte {9 , 10 , 11 , 12 , 13 , 14 },
148
148
},
149
149
{
150
150
begins : 37 ,
151
- ends : 40 ,
151
+ ends : 41 ,
152
152
data : []byte {16 , 17 , 18 , 19 },
153
153
},
154
154
{
155
155
begins : 41 ,
156
- ends : 44 ,
157
- data : []byte {20 , 21 , 23 , 24 },
156
+ ends : 45 ,
157
+ data : []byte {20 , 21 , 22 , 23 },
158
158
},
159
159
{
160
160
begins : 45 ,
161
- ends : 50 ,
162
- data : []byte {25 , 26 , 27 , 28 , 29 , 30 },
161
+ ends : 52 ,
162
+ data : []byte {24 , 25 , 26 , 27 , 28 , 29 , 30 },
163
163
},
164
164
},
165
165
}
166
166
167
167
result1 := item .MatchRange (24 , 28 )
168
- assert .Equal (t , []byte {3 , 4 , 5 , 6 , 7 }, result1 )
168
+ assert .Equal (t , []byte {3 , 4 , 5 , 6 }, result1 )
169
169
170
170
result2 := item .MatchRange (21 , 29 )
171
- assert .Equal (t , []byte {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 }, result2 )
171
+ assert .Equal (t , []byte {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 }, result2 )
172
+
173
+ result2_1 := item .MatchRange (21 , 30 )
174
+ assert .Equal (t , []byte {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 }, result2_1 )
172
175
173
176
result3 := item .MatchRange (28 , 33 )
174
- assert .Equal (t , []byte {7 , 8 , 9 , 10 , 11 , 12 }, result3 )
177
+ assert .Equal (t , []byte {7 , 8 , 9 , 10 , 11 }, result3 )
175
178
176
179
result4 := item .MatchRange (28 , 38 )
177
180
assert .Nil (t , result4 )
178
181
179
- result5 := item .MatchRange (37 , 50 )
180
- assert .Equal (t , []byte {16 , 17 , 18 , 19 , 20 , 21 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 }, result5 )
182
+ result5 := item .MatchRange (37 , 52 )
183
+ assert .Equal (t , []byte {16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 }, result5 )
181
184
182
185
result6 := item .MatchRange (19 , 28 )
183
186
assert .Nil (t , result6 )
184
187
185
- result7 := item .MatchRange (37 , 51 )
188
+ result7 := item .MatchRange (36 , 51 )
186
189
assert .Nil (t , result7 )
187
190
188
191
result8 := item .MatchRange (0 , 0 )
@@ -245,69 +248,60 @@ func TestIndexItem_MergeV1(t *testing.T) {
245
248
dataItems : []dataContainer {
246
249
{
247
250
begins : 21 ,
248
- ends : 29 ,
251
+ ends : 30 ,
249
252
data : []byte {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 },
250
253
},
251
254
{
252
255
begins : 24 ,
253
- ends : 28 ,
256
+ ends : 29 ,
254
257
data : []byte {3 , 4 , 5 , 6 , 7 },
255
258
},
256
259
{
257
260
begins : 27 ,
258
- ends : 32 ,
261
+ ends : 33 ,
259
262
data : []byte {6 , 7 , 8 , 9 , 10 , 11 },
260
263
},
261
264
{
262
265
begins : 41 ,
263
- ends : 44 ,
266
+ ends : 45 ,
264
267
data : []byte {20 , 21 , 23 , 24 },
265
268
},
266
269
{
267
270
begins : 45 ,
268
- ends : 50 ,
271
+ ends : 51 ,
269
272
data : []byte {25 , 26 , 27 , 28 , 29 , 30 },
270
273
},
271
274
},
272
275
}
273
276
274
- item .Merge (33 , 39 , []byte {12 , 13 , 14 , 15 , 16 , 17 , 18 })
277
+ item .Merge (34 , 38 , []byte {13 , 14 , 15 , 16 })
275
278
276
279
assert .Equal (t ,
277
280
dataContainer {
278
281
data : []byte {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 },
279
282
begins : 21 ,
280
- ends : 32 ,
283
+ ends : 33 ,
281
284
},
282
285
item .dataItems [0 ],
283
286
)
284
287
285
288
assert .Equal (t ,
286
289
dataContainer {
287
- data : []byte {12 , 13 , 14 , 15 , 16 , 17 , 18 },
288
- begins : 33 ,
289
- ends : 39 ,
290
+ data : []byte {13 , 14 , 15 , 16 },
291
+ begins : 34 ,
292
+ ends : 38 ,
290
293
},
291
294
item .dataItems [1 ],
292
295
)
293
296
294
297
assert .Equal (t ,
295
298
dataContainer {
296
299
begins : 41 ,
297
- ends : 44 ,
298
- data : []byte {20 , 21 , 23 , 24 },
300
+ ends : 51 ,
301
+ data : []byte {20 , 21 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 },
299
302
},
300
303
item .dataItems [2 ],
301
304
)
302
-
303
- assert .Equal (t ,
304
- dataContainer {
305
- begins : 45 ,
306
- ends : 50 ,
307
- data : []byte {25 , 26 , 27 , 28 , 29 , 30 },
308
- },
309
- item .dataItems [3 ],
310
- )
311
305
}
312
306
313
307
func TestIndexItem_MergeV2 (t * testing.T ) {
@@ -319,27 +313,27 @@ func TestIndexItem_MergeV2(t *testing.T) {
319
313
dataItems : []dataContainer {
320
314
{
321
315
begins : 21 ,
322
- ends : 29 ,
316
+ ends : 30 ,
323
317
data : []byte {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 },
324
318
},
325
319
{
326
320
begins : 24 ,
327
- ends : 28 ,
321
+ ends : 29 ,
328
322
data : []byte {3 , 4 , 5 , 6 , 7 },
329
323
},
330
324
{
331
325
begins : 27 ,
332
- ends : 32 ,
326
+ ends : 33 ,
333
327
data : []byte {6 , 7 , 8 , 9 , 10 , 11 },
334
328
},
335
329
{
336
330
begins : 41 ,
337
- ends : 44 ,
331
+ ends : 45 ,
338
332
data : []byte {20 , 21 , 23 , 24 },
339
333
},
340
334
{
341
335
begins : 45 ,
342
- ends : 50 ,
336
+ ends : 51 ,
343
337
data : []byte {25 , 26 , 27 , 28 , 29 , 30 },
344
338
},
345
339
},
@@ -359,7 +353,7 @@ func TestIndexItem_MergeV2(t *testing.T) {
359
353
assert .Equal (t ,
360
354
dataContainer {
361
355
begins : 41 ,
362
- ends : 44 ,
356
+ ends : 45 ,
363
357
data : []byte {20 , 21 , 23 , 24 },
364
358
},
365
359
item .dataItems [1 ],
@@ -368,7 +362,7 @@ func TestIndexItem_MergeV2(t *testing.T) {
368
362
assert .Equal (t ,
369
363
dataContainer {
370
364
begins : 45 ,
371
- ends : 50 ,
365
+ ends : 51 ,
372
366
data : []byte {25 , 26 , 27 , 28 , 29 , 30 },
373
367
},
374
368
item .dataItems [2 ],
@@ -384,39 +378,39 @@ func TestIndexItem_MergeV3(t *testing.T) {
384
378
dataItems : []dataContainer {
385
379
{
386
380
begins : 21 ,
387
- ends : 29 ,
381
+ ends : 30 ,
388
382
data : []byte {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 },
389
383
},
390
384
{
391
385
begins : 24 ,
392
- ends : 28 ,
386
+ ends : 29 ,
393
387
data : []byte {3 , 4 , 5 , 6 , 7 },
394
388
},
395
389
{
396
390
begins : 27 ,
397
- ends : 32 ,
391
+ ends : 33 ,
398
392
data : []byte {6 , 7 , 8 , 9 , 10 , 11 },
399
393
},
400
394
{
401
395
begins : 41 ,
402
- ends : 44 ,
396
+ ends : 45 ,
403
397
data : []byte {20 , 21 , 23 , 24 },
404
398
},
405
399
{
406
400
begins : 45 ,
407
- ends : 50 ,
401
+ ends : 51 ,
408
402
data : []byte {25 , 26 , 27 , 28 , 29 , 30 },
409
403
},
410
404
},
411
405
}
412
406
413
- item .Merge (21 , 50 , []byte {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 })
407
+ item .Merge (21 , 51 , []byte {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 })
414
408
415
409
assert .Equal (t ,
416
410
dataContainer {
417
411
data : []byte {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 },
418
412
begins : 21 ,
419
- ends : 50 ,
413
+ ends : 51 ,
420
414
},
421
415
item .dataItems [0 ],
422
416
)
@@ -431,33 +425,33 @@ func TestIndexItem_MergeV4(t *testing.T) {
431
425
dataItems : []dataContainer {
432
426
{
433
427
begins : 21 ,
434
- ends : 29 ,
428
+ ends : 30 ,
435
429
data : []byte {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 },
436
430
},
437
431
{
438
432
begins : 24 ,
439
- ends : 28 ,
433
+ ends : 29 ,
440
434
data : []byte {3 , 4 , 5 , 6 , 7 },
441
435
},
442
436
{
443
437
begins : 27 ,
444
- ends : 32 ,
438
+ ends : 33 ,
445
439
data : []byte {6 , 7 , 8 , 9 , 10 , 11 },
446
440
},
447
441
{
448
442
begins : 41 ,
449
- ends : 44 ,
443
+ ends : 45 ,
450
444
data : []byte {20 , 21 , 23 , 24 },
451
445
},
452
446
{
453
447
begins : 45 ,
454
- ends : 50 ,
448
+ ends : 51 ,
455
449
data : []byte {25 , 26 , 27 , 28 , 29 , 30 },
456
450
},
457
451
},
458
452
}
459
453
460
- item .Merge (0 , 0 , []byte {0 , 1 , 2 , 3 , 4 , 5 , 6 })
454
+ oldSize , newSize := item .Merge (0 , 0 , []byte {0 , 1 , 2 , 3 , 4 , 5 , 6 })
461
455
462
456
assert .Equal (t ,
463
457
dataContainer {
@@ -467,45 +461,10 @@ func TestIndexItem_MergeV4(t *testing.T) {
467
461
},
468
462
item .dataItems [0 ],
469
463
)
470
- }
471
-
472
- func TestIndexItem_MergeV5 (t * testing.T ) {
473
- item := indexItem {
474
- sha512Hex : "test" ,
475
- expiresAt : time .Now (),
476
- sortIndex : 0 ,
477
-
478
- dataItems : []dataContainer {
479
- {
480
- begins : 21 ,
481
- ends : 29 ,
482
- data : []byte {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 },
483
- },
484
- {
485
- begins : 24 ,
486
- ends : 28 ,
487
- data : []byte {3 , 4 , 5 , 6 , 7 },
488
- },
489
- {
490
- begins : 27 ,
491
- ends : 32 ,
492
- data : []byte {6 , 7 , 8 , 9 , 10 , 11 },
493
- },
494
- {
495
- begins : 41 ,
496
- ends : 44 ,
497
- data : []byte {20 , 21 , 23 , 24 },
498
- },
499
- {
500
- begins : 45 ,
501
- ends : 50 ,
502
- data : []byte {25 , 26 , 27 , 28 , 29 , 30 },
503
- },
504
- },
505
- }
506
-
507
- oldSize , newSize := item .Merge (0 , 0 , []byte {0 , 1 , 2 , 3 , 4 , 5 , 6 })
508
464
509
465
assert .Equal (t , uint64 (30 ), oldSize )
510
466
assert .Equal (t , uint64 (7 ), newSize )
467
+
468
+ result1 := item .MatchRange (2 , 5 )
469
+ assert .Equal (t , []byte {2 , 3 , 4 }, result1 )
511
470
}
0 commit comments