我创建了一个结构体
mutable struct mystruct
x::Float64
i::Int
end
Run Code Online (Sandbox Code Playgroud)
现在,当我使用函数 x_init 初始化它时:
function x_init(x::Number,i::Int)::mystruct
x = float(x)
Z = mystruct(x,i)
return Z
end
Run Code Online (Sandbox Code Playgroud)
运行这个函数时我得到
julia> x_init(2,3)
mystruct(2.0, 3)
Run Code Online (Sandbox Code Playgroud)
但在测试中@test x_init(2,3) == mystruct(2.0, 3)我得到false。
我期望得到true.
有人可以解释一下为什么我得到了false以及我应该如何为此类功能编写测试用例吗?
我可以测试像
x_init(2,3).x == mystruct(2.0, 3).x && x_init(2,3).i == mystruct(2.0, 3).i
Run Code Online (Sandbox Code Playgroud)
但有没有更好的方法不涉及检查每个变量呢?