|  | 
| 588 | 588 |     @test I[begin] == I[1] | 
| 589 | 589 |     @test I[end] == I[2] | 
| 590 | 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