MCPcopy
hub / github.com/RoaringBitmap/roaring / TestArrayContainerResetTo

Function TestArrayContainerResetTo

arraycontainer_test.go:382–436  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

380}
381
382func TestArrayContainerResetTo(t *testing.T) {
383 array := newArrayContainer()
384 for i := 0; i < 1000; i++ {
385 array.iadd(uint16(i*1000 + i + 50))
386 }
387
388 bitmap := newBitmapContainer()
389 for i := 0; i < 10000; i++ {
390 bitmap.iadd(uint16(i*1000 + i + 50))
391 }
392
393 run := newRunContainer16()
394 for i := 0; i < 10; i++ {
395 start := i*1000 + i + 50
396 run.iaddRange(start, start+100+i)
397 }
398
399 makeDirty := func() *arrayContainer {
400 ret := newArrayContainer()
401 for i := 0; i < arrayDefaultMaxSize; i += 3 {
402 ret.iadd(uint16(i))
403 }
404 return ret
405 }
406
407 t.Run("to array container", func(t *testing.T) {
408 clean := newArrayContainer()
409 clean.resetTo(array)
410 assert.True(t, clean.equals(array))
411
412 dirty := makeDirty()
413 dirty.resetTo(array)
414 assert.True(t, dirty.equals(array))
415 })
416
417 t.Run("to bitmap container", func(t *testing.T) {
418 clean := newArrayContainer()
419 clean.resetTo(bitmap)
420 assert.True(t, clean.equals(bitmap))
421
422 dirty := makeDirty()
423 dirty.resetTo(bitmap)
424 assert.True(t, dirty.equals(bitmap.toArrayContainer()))
425 })
426
427 t.Run("to run container", func(t *testing.T) {
428 clean := newArrayContainer()
429 clean.resetTo(run)
430 assert.True(t, clean.toEfficientContainer().equals(run))
431
432 dirty := makeDirty()
433 dirty.resetTo(run)
434 assert.True(t, dirty.toEfficientContainer().equals(run))
435 })
436}
437
438func TestNextValueArray(t *testing.T) {
439 t.Run("Java Port 1", func(t *testing.T) {

Callers

nothing calls this directly

Calls 9

newArrayContainerFunction · 0.85
newBitmapContainerFunction · 0.85
newRunContainer16Function · 0.85
iaddMethod · 0.65
iaddRangeMethod · 0.65
equalsMethod · 0.65
toEfficientContainerMethod · 0.65
resetToMethod · 0.45
toArrayContainerMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…