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

Function TestCardinalityInRangeBitmapContainer

roaring_test.go:1185–1201  ·  view source on GitHub ↗

TestCardinalityInRangeBitmapContainer tests CardinalityInRange with bitmap containers (>4096 values in one container).

(t *testing.T)

Source from the content-addressed store, hash-verified

1183
1184// TestCardinalityInRangeBitmapContainer tests CardinalityInRange with bitmap containers (>4096 values in one container).
1185func TestCardinalityInRangeBitmapContainer(t *testing.T) {
1186 rb := NewBitmap()
1187 // Add enough values to trigger bitmap container: every other value in [0, 16384).
1188 for i := uint32(0); i < 16384; i += 2 {
1189 rb.Add(i)
1190 }
1191 // 8192 values: 0, 2, 4, ..., 16382
1192
1193 assert.EqualValues(t, 8192, rb.CardinalityInRange(0, 16384))
1194 assert.EqualValues(t, 1, rb.CardinalityInRange(0, 1)) // just 0
1195 assert.EqualValues(t, 1, rb.CardinalityInRange(0, 2)) // just 0
1196 assert.EqualValues(t, 2, rb.CardinalityInRange(0, 3)) // 0, 2
1197 assert.EqualValues(t, 50, rb.CardinalityInRange(0, 100)) // 0, 2, 4, ..., 98
1198 assert.EqualValues(t, 50, rb.CardinalityInRange(100, 200)) // 100, 102, ..., 198
1199 assert.EqualValues(t, 0, rb.CardinalityInRange(1, 2)) // no even values in [1, 2)
1200 assert.EqualValues(t, 1, rb.CardinalityInRange(1, 3)) // just 2
1201}
1202
1203// TestCardinalityInRangeFullUint32Range tests CardinalityInRange with end = 1<<32 (full uint32 range).
1204func TestCardinalityInRangeFullUint32Range(t *testing.T) {

Callers

nothing calls this directly

Calls 3

AddMethod · 0.95
CardinalityInRangeMethod · 0.95
NewBitmapFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…