|
573 | 573 | end
|
574 | 574 | @test t3 == (1, 2, 0)
|
575 | 575 | end
|
| 576 | + |
| 577 | +@testset "CartesianIndex show" begin |
| 578 | + c = CartesianIndex() |
| 579 | + @test sprint(show, c) == "CartesianIndex()" |
| 580 | + c = CartesianIndex(3) |
| 581 | + @test sprint(show, c) == "CartesianIndex(3)" |
| 582 | + c = CartesianIndex(3, 3) |
| 583 | + @test sprint(show, c) == "CartesianIndex(3, 3)" |
| 584 | +end |
| 585 | + |
| 586 | +@testset "CartesianIndex indexing with begin/end" begin |
| 587 | + I = CartesianIndex(3,4) |
| 588 | + @test I[begin] == I[1] |
| 589 | + @test I[end] == I[2] |
| 590 | +end |
| 591 | + |
| 592 | +@testset "in for a CartesianIndex StepRangeLen" begin |
| 593 | + @testset for l in [0, 1, 4], r in Any[ |
| 594 | + StepRangeLen(CartesianIndex(), CartesianIndex(), l), |
| 595 | + StepRangeLen(CartesianIndex(1), CartesianIndex(0), l), |
| 596 | + StepRangeLen(CartesianIndex(1), CartesianIndex(1), l), |
| 597 | + StepRangeLen(CartesianIndex(1), CartesianIndex(4), l), |
| 598 | + StepRangeLen(CartesianIndex(1), CartesianIndex(-4), l), |
| 599 | + StepRangeLen(CartesianIndex(-1, 2), CartesianIndex(0, 0), l), |
| 600 | + StepRangeLen(CartesianIndex(-1, 2), CartesianIndex(0, 4), l), |
| 601 | + StepRangeLen(CartesianIndex(-1, 2), CartesianIndex(0, -4), l), |
| 602 | + StepRangeLen(CartesianIndex(-1, 2), CartesianIndex(4, 0), l), |
| 603 | + StepRangeLen(CartesianIndex(-1, 2), CartesianIndex(-4, 0), l), |
| 604 | + StepRangeLen(CartesianIndex(-1, 2), CartesianIndex(4, 2), l), |
| 605 | + StepRangeLen(CartesianIndex(-1, 2), CartesianIndex(-4, 2), l), |
| 606 | + StepRangeLen(CartesianIndex(-1, 2), CartesianIndex(4, -2), l), |
| 607 | + StepRangeLen(CartesianIndex(-1, 2), CartesianIndex(-4, -2), l), |
| 608 | + StepRangeLen(CartesianIndex(-1, 2, 0), CartesianIndex(0, 0, 0), l), |
| 609 | + StepRangeLen(CartesianIndex(-1, 2, 0), CartesianIndex(0, 0, -2), l), |
| 610 | + ] |
| 611 | + |
| 612 | + if length(r) == 0 |
| 613 | + @test !(first(r) in r) |
| 614 | + @test !(last(r) in r) |
| 615 | + end |
| 616 | + for x in r |
| 617 | + @test x in r |
| 618 | + if step(r) != oneunit(x) |
| 619 | + @test !((x + oneunit(x)) in r) |
| 620 | + end |
| 621 | + end |
| 622 | + @test !(CartesianIndex(ntuple(x->0, ndims(r))) in r) |
| 623 | + @test !(CartesianIndex(ntuple(x->typemax(Int), ndims(r))) in r) |
| 624 | + @test !(CartesianIndex(ntuple(x->typemin(Int), ndims(r))) in r) |
| 625 | + if ndims(r) > 1 |
| 626 | + @test !(CartesianIndex(ntuple(x->0, ndims(r)-1)...) in r) |
| 627 | + end |
| 628 | + end |
| 629 | +end |
0 commit comments