我正在 Julia 中处理一组函数,我必须开发一组覆盖测试。我有一个函数在一个元组中返回 3 个值。
我怎样才能做这样的测试:
@test_approx_eq_eps()
这将适用于所有三个输出值,它们都是 float ?
只需在它的任何风格中使用一个循环:
julia> using Base.Test: @test_approx_eq_eps
julia> ns = tuple(ones(3)...)
(1.0, 1.0, 1.0)
julia> x = 1.0
1.0
julia> epsilon = 0.0
0.0
julia> for n in ns # simple loop
@test_approx_eq_eps n x epsilon
end
julia> [@test_approx_eq_eps(n, x, epsilon) for n in ns] # comprehension
3-element Array{Void,1}:
nothing
nothing
nothing
julia> foreach(ns) do n # foreach (doesn't return anything)
@test_approx_eq_eps n x epsilon
end
julia> test_aprox_eq_eps(n, x, epsilon) = @test_approx_eq_eps(n, x, epsilon)
test_aprox_eq_eps (generic function with 1 method)
julia> test_aprox_eq_eps.(ns, x, epsilon) # broadcasting
(nothing, nothing, nothing)
Tôi là một lập trình viên xuất sắc, rất giỏi!