(t *testing.T)
| 11 | ) |
| 12 | |
| 13 | func 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 | |
| 42 | func TestCloneOfCOW(t *testing.T) { |
| 43 | rb1 := NewBitmap() |
nothing calls this directly
no test coverage detected
searching dependent graphs…