(t *testing.T)
| 309 | } |
| 310 | |
| 311 | func TestRleRunReverseIterator16(t *testing.T) { |
| 312 | t.Run("RunReverseIterator16 unit tests for next, hasNext, and peekNext should pass", func(t *testing.T) { |
| 313 | { |
| 314 | rc := newRunContainer16() |
| 315 | it := rc.newRunReverseIterator16() |
| 316 | assert.False(t, it.hasNext()) |
| 317 | assert.Panics(t, func() { it.next() }) |
| 318 | } |
| 319 | { |
| 320 | rc := newRunContainer16TakeOwnership([]interval16{newInterval16Range(0, 0)}) |
| 321 | it := rc.newRunReverseIterator16() |
| 322 | assert.True(t, it.hasNext()) |
| 323 | assert.EqualValues(t, uint16(0), it.next()) |
| 324 | assert.Panics(t, func() { it.next() }) |
| 325 | assert.False(t, it.hasNext()) |
| 326 | assert.Panics(t, func() { it.next() }) |
| 327 | } |
| 328 | { |
| 329 | rc := newRunContainer16TakeOwnership([]interval16{newInterval16Range(4, 4)}) |
| 330 | it := rc.newRunReverseIterator16() |
| 331 | assert.True(t, it.hasNext()) |
| 332 | assert.EqualValues(t, uint16(4), it.next()) |
| 333 | assert.False(t, it.hasNext()) |
| 334 | } |
| 335 | { |
| 336 | rc := newRunContainer16TakeOwnership([]interval16{newInterval16Range(MaxUint16, MaxUint16)}) |
| 337 | it := rc.newRunReverseIterator16() |
| 338 | assert.True(t, it.hasNext()) |
| 339 | assert.EqualValues(t, uint16(MaxUint16), it.next()) |
| 340 | assert.False(t, it.hasNext()) |
| 341 | } |
| 342 | { |
| 343 | rc := newRunContainer16TakeOwnership([]interval16{newInterval16Range(4, 9)}) |
| 344 | it := rc.newRunReverseIterator16() |
| 345 | assert.True(t, it.hasNext()) |
| 346 | for i := 9; i >= 4; i-- { |
| 347 | assert.Equal(t, uint16(i), it.next()) |
| 348 | if i > 4 { |
| 349 | assert.True(t, it.hasNext()) |
| 350 | } else if i == 4 { |
| 351 | assert.False(t, it.hasNext()) |
| 352 | } |
| 353 | } |
| 354 | assert.False(t, it.hasNext()) |
| 355 | assert.Panics(t, func() { it.next() }) |
| 356 | } |
| 357 | { |
| 358 | rc := newRunContainer16TakeOwnership([]interval16{ |
| 359 | newInterval16Range(0, 0), |
| 360 | newInterval16Range(2, 2), |
| 361 | newInterval16Range(4, 4), |
| 362 | newInterval16Range(6, 7), |
| 363 | newInterval16Range(10, 12), |
| 364 | newInterval16Range(MaxUint16, MaxUint16), |
| 365 | }) |
| 366 | |
| 367 | it := rc.newRunReverseIterator16() |
| 368 | assert.Equal(t, uint16(MaxUint16), it.next()) |
nothing calls this directly
no test coverage detected
searching dependent graphs…