MCPcopy Create free account
hub / github.com/RoaringBitmap/roaring / TestBitmap

Function TestBitmap

roaring64/roaring64_test.go:406–1425  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

404}
405
406func TestBitmap(t *testing.T) {
407 t.Run("Test Contains", func(t *testing.T) {
408 rbm1 := NewBitmap()
409 for k := 0; k < 1000; k++ {
410 rbm1.AddInt(17 * k)
411 }
412
413 for k := 0; k < 17*1000; k++ {
414 assert.Equal(t, (k/17*17 == k), rbm1.ContainsInt(k))
415 }
416 })
417
418 t.Run("Test Clone", func(t *testing.T) {
419 rb1 := NewBitmap()
420 rb1.Add(10)
421
422 rb2 := rb1.Clone()
423 rb2.Remove(10)
424
425 assert.True(t, rb1.Contains(10))
426 })
427
428 t.Run("Test run array not equal", func(t *testing.T) {
429 rb := NewBitmap()
430 rb2 := NewBitmap()
431 rb.AddRange(0, 1<<16)
432 for i := 0; i < 10; i++ {
433 rb2.AddInt(i)
434 }
435
436 assert.EqualValues(t, 1<<16, rb.GetCardinality())
437 assert.EqualValues(t, 10, rb2.GetCardinality())
438 assert.False(t, rb.Equals(rb2))
439
440 rb.RunOptimize()
441 rb2.RunOptimize()
442
443 assert.EqualValues(t, 1<<16, rb.GetCardinality())
444 assert.EqualValues(t, 10, rb2.GetCardinality())
445 assert.False(t, rb.Equals(rb2))
446 })
447
448 t.Run("Test ANDNOT4", func(t *testing.T) {
449 rb := NewBitmap()
450 rb2 := NewBitmap()
451
452 for i := 0; i < 200000; i += 4 {
453 rb2.AddInt(i)
454 }
455 for i := 200000; i < 400000; i += 14 {
456 rb2.AddInt(i)
457 }
458
459 off := AndNot(rb2, rb)
460 andNotresult := AndNot(rb, rb2)
461
462 assert.True(t, rb.Equals(andNotresult))
463 assert.True(t, rb2.Equals(off))

Callers

nothing calls this directly

Calls 15

AddIntMethod · 0.95
ContainsIntMethod · 0.95
AddMethod · 0.95
CloneMethod · 0.95
RemoveMethod · 0.95
ContainsMethod · 0.95
AddRangeMethod · 0.95
GetCardinalityMethod · 0.95
EqualsMethod · 0.95
RunOptimizeMethod · 0.95
AndNotMethod · 0.95
ToArrayMethod · 0.95

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…