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

Function TestPreviousAbsentValueRun

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

Source from the content-addressed store, hash-verified

2432}
2433
2434func TestPreviousAbsentValueRun(t *testing.T) {
2435 t.Run("Java Regression 1", func(t *testing.T) {
2436 // [Java 1] https://github.com/RoaringBitmap/RoaringBitmap/blob/5235aa62c32fa3bf7fae40a562e3edc75f61be4e/RoaringBitmap/src/test/java/org/roaringbitmap/TestRunContainer.java#L3732
2437 runContainer := newRunContainer16()
2438 runContainer.iaddRange(64, 129)
2439
2440 assert.Equal(t, 0, runContainer.previousAbsentValue(0))
2441 assert.Equal(t, 63, runContainer.previousAbsentValue(63))
2442 assert.Equal(t, 63, runContainer.previousAbsentValue(64))
2443 assert.Equal(t, 63, runContainer.previousAbsentValue(65))
2444 assert.Equal(t, 63, runContainer.previousAbsentValue(128))
2445 assert.Equal(t, 129, runContainer.previousAbsentValue(129))
2446 })
2447
2448 t.Run("Java Regression2", func(t *testing.T) {
2449 // [Java 2] https://github.com/RoaringBitmap/RoaringBitmap/blob/5235aa62c32fa3bf7fae40a562e3edc75f61be4e/RoaringBitmap/src/test/java/org/roaringbitmap/TestRunContainer.java#L3743
2450
2451 runContainer := newRunContainer16()
2452 runContainer.iaddRange(64, 129)
2453 runContainer.iaddRange(200, 501)
2454 runContainer.iaddRange(5000, 5201)
2455
2456 assert.Equal(t, 0, runContainer.previousAbsentValue(0))
2457 assert.Equal(t, 63, runContainer.previousAbsentValue(63))
2458 assert.Equal(t, 63, runContainer.previousAbsentValue(64))
2459 assert.Equal(t, 63, runContainer.previousAbsentValue(65))
2460 assert.Equal(t, 63, runContainer.previousAbsentValue(128))
2461 assert.Equal(t, 129, runContainer.previousAbsentValue(129))
2462 assert.Equal(t, 199, runContainer.previousAbsentValue(199))
2463 assert.Equal(t, 199, runContainer.previousAbsentValue(200))
2464 assert.Equal(t, 199, runContainer.previousAbsentValue(250))
2465 assert.Equal(t, 2500, runContainer.previousAbsentValue(2500))
2466 assert.Equal(t, 4999, runContainer.previousAbsentValue(5000))
2467 assert.Equal(t, 4999, runContainer.previousAbsentValue(5200))
2468 })
2469
2470 t.Run("Java Regression3", func(t *testing.T) {
2471 // [Java 3] https://github.com/RoaringBitmap/RoaringBitmap/blob/5235aa62c32fa3bf7fae40a562e3edc75f61be4e/RoaringBitmap/src/test/java/org/roaringbitmap/TestRunContainer.java#L3760
2472 runContainer := newRunContainer16()
2473 for i := 0; i < 1000; i++ {
2474 assert.Equal(t, i, runContainer.previousAbsentValue(uint16(i)))
2475 }
2476 })
2477}
2478
2479func TestRuntimeIteratorPeekNext(t *testing.T) {
2480 testContainerIteratorPeekNext(t, newRunContainer16())

Callers

nothing calls this directly

Calls 3

newRunContainer16Function · 0.85
iaddRangeMethod · 0.65
previousAbsentValueMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…