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

Function TestIssue386

roaringcow_test.go:13–40  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

11)
12
13func TestIssue386(t *testing.T) {
14 a := NewBitmap()
15 for i := uint32(0); i < 1000; i++ {
16 a.Add(i)
17 }
18 a.SetCopyOnWrite(true)
19 aClone := a.Clone()
20 assert.False(t, a.Contains(1001))
21 assert.EqualValues(t, 1000, a.GetCardinality())
22 assert.EqualValues(t, 1000, aClone.GetCardinality())
23 b := NewBitmap()
24 b.Add(1001)
25 assert.False(t, a.Contains(1001))
26 assert.True(t, b.Contains(1001))
27 assert.EqualValues(t, 1000, a.GetCardinality())
28 assert.EqualValues(t, 1000, aClone.GetCardinality())
29 c := NewBitmap()
30 c.Or(aClone)
31 assert.EqualValues(t, 1000, c.GetCardinality())
32 assert.EqualValues(t, 1000, a.GetCardinality())
33 assert.EqualValues(t, 1000, aClone.GetCardinality())
34 c.Or(b)
35 assert.EqualValues(t, 1001, c.GetCardinality())
36 assert.True(t, c.Contains(1001))
37 assert.False(t, a.Contains(1001))
38 assert.EqualValues(t, 1000, a.GetCardinality())
39 assert.EqualValues(t, 1000, aClone.GetCardinality())
40}
41
42func TestCloneOfCOW(t *testing.T) {
43 rb1 := NewBitmap()

Callers

nothing calls this directly

Calls 7

AddMethod · 0.95
SetCopyOnWriteMethod · 0.95
CloneMethod · 0.95
ContainsMethod · 0.95
GetCardinalityMethod · 0.95
OrMethod · 0.95
NewBitmapFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…