MCPcopy Index your code
hub / github.com/RoaringBitmap/roaring / TestBitmap

Function TestBitmap

roaring_test.go:1320–2437  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1318}
1319
1320func TestBitmap(t *testing.T) {
1321 t.Run("Test Contains", func(t *testing.T) {
1322 rbm1 := NewBitmap()
1323 for k := 0; k < 1000; k++ {
1324 rbm1.AddInt(17 * k)
1325 }
1326
1327 for k := 0; k < 17*1000; k++ {
1328 assert.Equal(t, (k/17*17 == k), rbm1.ContainsInt(k))
1329 }
1330 })
1331
1332 t.Run("Test Clone", func(t *testing.T) {
1333 rb1 := NewBitmap()
1334 rb1.Add(10)
1335
1336 rb2 := rb1.Clone()
1337 rb2.Remove(10)
1338
1339 assert.True(t, rb1.Contains(10))
1340 })
1341
1342 t.Run("Test run array not equal", func(t *testing.T) {
1343 rb := NewBitmap()
1344 rb2 := NewBitmap()
1345 rb.AddRange(0, 1<<16)
1346 for i := 0; i < 10; i++ {
1347 rb2.AddInt(i)
1348 }
1349
1350 assert.EqualValues(t, 1<<16, rb.GetCardinality())
1351 assert.EqualValues(t, 10, rb2.GetCardinality())
1352 assert.False(t, rb.Equals(rb2))
1353
1354 rb.RunOptimize()
1355 rb2.RunOptimize()
1356
1357 assert.EqualValues(t, 1<<16, rb.GetCardinality())
1358 assert.EqualValues(t, 10, rb2.GetCardinality())
1359 assert.False(t, rb.Equals(rb2))
1360 })
1361
1362 t.Run("Test ANDNOT4", func(t *testing.T) {
1363 rb := NewBitmap()
1364 rb2 := NewBitmap()
1365
1366 for i := 0; i < 200000; i += 4 {
1367 rb2.AddInt(i)
1368 }
1369 for i := 200000; i < 400000; i += 14 {
1370 rb2.AddInt(i)
1371 }
1372
1373 off := AndNot(rb2, rb)
1374 andNotresult := AndNot(rb, rb2)
1375
1376 assert.True(t, rb.Equals(andNotresult))
1377 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…