(t *testing.T)
| 95 | } |
| 96 | |
| 97 | func TestOrSparseWithDenseBitArray(t *testing.T) { |
| 98 | sba := newSparseBitArray() |
| 99 | other := newBitArray(2000) |
| 100 | |
| 101 | ctx := false |
| 102 | for i := uint64(0); i < 1000; i += s { |
| 103 | if ctx { |
| 104 | sba.SetBit(i) |
| 105 | } else { |
| 106 | other.SetBit(i) |
| 107 | } |
| 108 | |
| 109 | ctx = !ctx |
| 110 | } |
| 111 | |
| 112 | other.SetBit(1500) |
| 113 | other.SetBit(s - 1) |
| 114 | sba.SetBit(s - 1) |
| 115 | |
| 116 | result := orSparseWithDenseBitArray(sba, other) |
| 117 | |
| 118 | for i := uint64(0); i < 1000; i += s { |
| 119 | ok, err := result.GetBit(i) |
| 120 | assert.Nil(t, err) |
| 121 | assert.True(t, ok) |
| 122 | } |
| 123 | |
| 124 | ok, err := result.GetBit(1500) |
| 125 | assert.Nil(t, err) |
| 126 | assert.True(t, ok) |
| 127 | |
| 128 | ok, err = result.GetBit(s - 1) |
| 129 | assert.Nil(t, err) |
| 130 | assert.True(t, ok) |
| 131 | |
| 132 | ok, err = result.GetBit(s - 2) |
| 133 | assert.Nil(t, err) |
| 134 | assert.False(t, ok) |
| 135 | |
| 136 | sba.SetBit(2500) |
| 137 | result = orSparseWithDenseBitArray(sba, other) |
| 138 | |
| 139 | ok, err = result.GetBit(2500) |
| 140 | assert.Nil(t, err) |
| 141 | assert.True(t, ok) |
| 142 | } |
| 143 | |
| 144 | func BenchmarkOrSparseWithDense(b *testing.B) { |
| 145 | numItems := uint64(160000) |
nothing calls this directly
no test coverage detected
searching dependent graphs…