MCPcopy Index your code
hub / github.com/RoaringBitmap/roaring / TestPreviousAbsentValueArray

Function TestPreviousAbsentValueArray

arraycontainer_test.go:571–611  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

569}
570
571func TestPreviousAbsentValueArray(t *testing.T) {
572 t.Run("Java Port 1", func(t *testing.T) {
573 // [Example 1] https://github.com/RoaringBitmap/RoaringBitmap/blob/5235aa62c32fa3bf7fae40a562e3edc75f61be4e/RoaringBitmap/src/test/java/org/roaringbitmap/TestArrayContainer.java#L793
574 ac := newArrayContainer()
575 ac.iaddRange(64, 129)
576 assert.Equal(t, 0, ac.previousAbsentValue(0))
577 assert.Equal(t, 63, ac.previousAbsentValue(63))
578 assert.Equal(t, 63, ac.previousAbsentValue(64))
579 assert.Equal(t, 63, ac.previousAbsentValue(65))
580 assert.Equal(t, 63, ac.previousAbsentValue(128))
581 assert.Equal(t, 129, ac.previousAbsentValue(129))
582 })
583
584 t.Run("Java Port 2", func(t *testing.T) {
585 // [Example 2] https://github.com/RoaringBitmap/RoaringBitmap/blob/5235aa62c32fa3bf7fae40a562e3edc75f61be4e/RoaringBitmap/src/test/java/org/roaringbitmap/TestArrayContainer.java#L804
586 ac := newArrayContainer()
587 ac.iaddRange(64, 129)
588 ac.iaddRange(200, 500)
589 ac.iaddRange(5000, 5201)
590 assert.Equal(t, 0, ac.previousAbsentValue(0))
591 assert.Equal(t, 63, ac.previousAbsentValue(63))
592 assert.Equal(t, 63, ac.previousAbsentValue(64))
593 assert.Equal(t, 63, ac.previousAbsentValue(65))
594 assert.Equal(t, 63, ac.previousAbsentValue(128))
595 assert.Equal(t, 129, ac.previousAbsentValue(129))
596 assert.Equal(t, 199, ac.previousAbsentValue(199))
597 assert.Equal(t, 199, ac.previousAbsentValue(200))
598 assert.Equal(t, 199, ac.previousAbsentValue(250))
599 assert.Equal(t, 2500, ac.previousAbsentValue(2500))
600 assert.Equal(t, 4999, ac.previousAbsentValue(5000))
601 assert.Equal(t, 4999, ac.previousAbsentValue(5200))
602 })
603
604 t.Run("Java Port 3", func(t *testing.T) {
605 // [Example 3] https://github.com/RoaringBitmap/RoaringBitmap/blob/5235aa62c32fa3bf7fae40a562e3edc75f61be4e/RoaringBitmap/src/test/java/org/roaringbitmap/TestArrayContainer.java#L821
606 ac := newArrayContainer()
607 for i := 0; i < 1000; i++ {
608 assert.Equal(t, i, ac.previousAbsentValue(uint16(i)))
609 }
610 })
611}
612
613func TestArrayContainerValidation(t *testing.T) {
614 array := newArrayContainer()

Callers

nothing calls this directly

Calls 3

newArrayContainerFunction · 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…