Skip to content

Commit f0f1874

Browse files
committed
add tests
1 parent d241a20 commit f0f1874

File tree

1 file changed

+32
-15
lines changed

1 file changed

+32
-15
lines changed

test/odesystem.jl

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -35,21 +35,38 @@ generate_function(de, [x,y,z], [σ,ρ,β])
3535
jac_expr = generate_jacobian(de)
3636
jac = calculate_jacobian(de)
3737
jacfun = eval(jac_expr[2])
38-
# iip
39-
f = ODEFunction(de, [x,y,z], [σ,ρ,β])
40-
du = zeros(3)
41-
u = collect(1:3)
42-
p = collect(4:6)
43-
f(du, u, p, 0.1)
44-
@test du == [4, 0, -16]
45-
J = zeros(3, 3)
46-
jacfun(J, u, p, t)
47-
# oop
48-
f = ODEFunction(de, [x,y,z], [σ,ρ,β])
49-
du = @SArray zeros(3)
50-
u = SVector(1:3...)
51-
p = SVector(4:6...)
52-
@test f(u, p, 0.1) === @SArray [4, 0, -16]
38+
39+
for f in [
40+
ODEFunction(de, [x,y,z], [σ,ρ,β], tgrad = true, jac = true),
41+
eval(ODEFunctionExpr(de, [x,y,z], [σ,ρ,β], tgrad = true, jac = true)),
42+
]
43+
# iip
44+
du = zeros(3)
45+
u = collect(1:3)
46+
p = collect(4:6)
47+
f.f(du, u, p, 0.1)
48+
@test du == [4, 0, -16]
49+
50+
# oop
51+
du = @SArray zeros(3)
52+
u = SVector(1:3...)
53+
p = SVector(4:6...)
54+
@test f.f(u, p, 0.1) === @SArray [4, 0, -16]
55+
56+
# iip vs oop
57+
du = zeros(3)
58+
g = similar(du)
59+
J = zeros(3, 3)
60+
u = collect(1:3)
61+
p = collect(4:6)
62+
f.f(du, u, p, 0.1)
63+
@test du == f(u, p, 0.1)
64+
f.tgrad(g, u, p, t)
65+
@test g == f.tgrad(u, p, t)
66+
f.jac(J, u, p, t)
67+
@test J == f.jac(u, p, t)
68+
end
69+
5370

5471
eqs = [D(x) ~ σ*(y-x),
5572
D(y) ~ x*-z)-y*t,

0 commit comments

Comments
 (0)