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

Function TestNextValueRun

runcontainer_test.go:2305–2353  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

2303}
2304
2305func TestNextValueRun(t *testing.T) {
2306 t.Run("Java Regression1", func(t *testing.T) {
2307 // [Java1] https://github.com/RoaringBitmap/RoaringBitmap/blob/5235aa62c32fa3bf7fae40a562e3edc75f61be4e/RoaringBitmap/src/test/java/org/roaringbitmap/TestRunContainer.java#L3645
2308 runContainer := newRunContainer16()
2309 runContainer.iaddRange(64, 129)
2310 assert.Equal(t, 64, runContainer.nextValue(0))
2311 assert.Equal(t, 64, runContainer.nextValue(64))
2312 assert.Equal(t, 65, runContainer.nextValue(65))
2313 assert.Equal(t, 128, runContainer.nextValue(128))
2314 assert.Equal(t, -1, runContainer.nextValue(129))
2315 })
2316
2317 t.Run("Java Regression2", func(t *testing.T) {
2318 // [Java2] https://github.com/RoaringBitmap/RoaringBitmap/blob/5235aa62c32fa3bf7fae40a562e3edc75f61be4e/RoaringBitmap/src/test/java/org/roaringbitmap/TestRunContainer.java#L3655
2319
2320 runContainer := newRunContainer16()
2321 runContainer.iaddRange(64, 129)
2322 runContainer.iaddRange(256, 256+64+1)
2323 assert.Equal(t, 64, runContainer.nextValue(0))
2324 assert.Equal(t, 64, runContainer.nextValue(64))
2325 assert.Equal(t, 65, runContainer.nextValue(65))
2326 assert.Equal(t, 128, runContainer.nextValue(128))
2327 assert.Equal(t, 256, runContainer.nextValue(129))
2328 assert.Equal(t, -1, runContainer.nextValue(512))
2329 })
2330
2331 t.Run("Java Regression3", func(t *testing.T) {
2332 // [Java3] https://github.com/RoaringBitmap/RoaringBitmap/blob/5235aa62c32fa3bf7fae40a562e3edc75f61be4e/RoaringBitmap/src/test/java/org/roaringbitmap/TestRunContainer.java#L3666
2333
2334 runContainer := newRunContainer16()
2335 runContainer.iaddRange(64, 129)
2336 runContainer.iaddRange(256, 200+300+1)
2337 runContainer.iaddRange(200, 200+300+1)
2338 runContainer.iaddRange(5000, 5000+200+1)
2339 assert.Equal(t, 64, runContainer.nextValue(0))
2340 assert.Equal(t, 64, runContainer.nextValue(64))
2341 assert.Equal(t, 64, runContainer.nextValue(64))
2342 assert.Equal(t, 65, runContainer.nextValue(65))
2343 assert.Equal(t, 128, runContainer.nextValue(128))
2344 assert.Equal(t, 200, runContainer.nextValue(129))
2345 assert.Equal(t, 200, runContainer.nextValue(199))
2346 assert.Equal(t, 200, runContainer.nextValue(200))
2347 assert.Equal(t, 250, runContainer.nextValue(250))
2348 assert.Equal(t, 5000, runContainer.nextValue(2500))
2349 assert.Equal(t, 5000, runContainer.nextValue(5000))
2350 assert.Equal(t, 5200, runContainer.nextValue(5200))
2351 assert.Equal(t, -1, runContainer.nextValue(5201))
2352 })
2353}
2354
2355func TestPreviousValueRun(t *testing.T) {
2356 t.Run("Java Regression1", func(t *testing.T) {

Callers

nothing calls this directly

Calls 3

newRunContainer16Function · 0.85
iaddRangeMethod · 0.65
nextValueMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…