TestCardinalityInRangeBitmapContainer tests CardinalityInRange with bitmap containers (>4096 values in one container).
(t *testing.T)
| 1183 | |
| 1184 | // TestCardinalityInRangeBitmapContainer tests CardinalityInRange with bitmap containers (>4096 values in one container). |
| 1185 | func 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). |
| 1204 | func TestCardinalityInRangeFullUint32Range(t *testing.T) { |
nothing calls this directly
no test coverage detected
searching dependent graphs…