TestCardinalityInRangeRunGapWithinContainer tests CardinalityInRange when two run intervals exist in the same container with a gap between them.
(t *testing.T)
| 1158 | // TestCardinalityInRangeRunGapWithinContainer tests CardinalityInRange when |
| 1159 | // two run intervals exist in the same container with a gap between them. |
| 1160 | func TestCardinalityInRangeRunGapWithinContainer(t *testing.T) { |
| 1161 | rb := NewBitmap() |
| 1162 | rb.AddRange(0, 1024) |
| 1163 | rb.AddRange(2048, 3072) |
| 1164 | rb.RunOptimize() |
| 1165 | |
| 1166 | // Querying within each run should return the correct count. |
| 1167 | assert.EqualValues(t, 1024, rb.CardinalityInRange(0, 1024)) |
| 1168 | assert.EqualValues(t, 1024, rb.CardinalityInRange(2048, 3072)) |
| 1169 | |
| 1170 | // The gap [1024, 2048) has zero set bits. |
| 1171 | assert.EqualValues(t, 0, rb.CardinalityInRange(1024, 2048)) |
| 1172 | |
| 1173 | // Ranges that span the gap should not count the gap. |
| 1174 | assert.EqualValues(t, 2048, rb.CardinalityInRange(0, 3072)) |
| 1175 | |
| 1176 | // Boundary: bit 1023 is set, bit 1024 is not. |
| 1177 | assert.EqualValues(t, 1, rb.CardinalityInRange(1023, 1024)) |
| 1178 | assert.EqualValues(t, 1, rb.CardinalityInRange(1023, 1025)) |
| 1179 | |
| 1180 | // Partial ranges touching each side of the gap. |
| 1181 | assert.EqualValues(t, 512+512, rb.CardinalityInRange(512, 2560)) |
| 1182 | } |
| 1183 | |
| 1184 | // TestCardinalityInRangeBitmapContainer tests CardinalityInRange with bitmap containers (>4096 values in one container). |
| 1185 | func TestCardinalityInRangeBitmapContainer(t *testing.T) { |
nothing calls this directly
no test coverage detected
searching dependent graphs…