@@ -40,12 +40,17 @@ for (T1, T2) in
4040end
4141
4242test_approx (:: AbstractZero , x, msg= " " ; kwargs... ) = test_approx (zero (x), x, msg; kwargs... )
43- test_approx (:: AbstractZero , x:: AbstractArray{<:AbstractArray} , msg= " " ; kwargs... ) = test_approx (map (zero, x), x, msg; kwargs... )
4443test_approx (x, :: AbstractZero , msg= " " ; kwargs... ) = test_approx (x, zero (x), msg; kwargs... )
45- test_approx (x:: AbstractArray{<:AbstractArray} , :: AbstractZero , msg= " " ; kwargs... ) = test_approx (x, map (zero, x), msg; kwargs... )
4644test_approx (x:: ZeroTangent , y:: ZeroTangent , msg= " " ; kwargs... ) = @test true
4745test_approx (x:: NoTangent , y:: NoTangent , msg= " " ; kwargs... ) = @test true
4846
47+ function test_approx (z:: AbstractZero , x:: AbstractArray{<:AbstractArray} , msg= " " ; kwargs... )
48+ for el in x
49+ test_approx (el, z, msg; kwargs... )
50+ end
51+ end
52+ test_approx (x:: AbstractArray{<:AbstractArray} , z:: AbstractZero , msg= " " ; kwargs... ) = test_approx (z, x, msg; kwargs... )
53+
4954# remove once https://github.com/JuliaDiff/ChainRulesTestUtils.jl/issues/113
5055test_approx (x:: NoTangent , y:: Nothing , msg= " " ; kwargs... ) = @test true
5156test_approx (x:: Nothing , y:: NoTangent , msg= " " ; kwargs... ) = @test true
@@ -134,8 +139,8 @@ function test_approx(actual::Tangent{P,T}, expected, msg=""; kwargs...) where {T
134139end
135140test_approx (x, y:: Tangent , msg= " " ; kwargs... ) = test_approx (y, x, msg; kwargs... )
136141
137- test_approx (z:: NoTangent , t:: Tangent , msg= " " ; kwargs... ) = all (== (NoTangent ()), t)
138- test_approx (t:: Tangent , z:: NoTangent , msg= " " ; kwargs... ) = all (== (NoTangent ()), t)
142+ test_approx (z:: NoTangent , t:: Tangent , msg= " " ; kwargs... ) = @test all (== (NoTangent ()), t)
143+ test_approx (t:: Tangent , z:: NoTangent , msg= " " ; kwargs... ) = @test all (== (NoTangent ()), t)
139144
140145# This catches comparisons of Tangents and Tuples/NamedTuple
141146# and gives an error message complaining about that. the `@test` will definitely fail
0 commit comments