Skip to content

Commit 5cdb4ba

Browse files
Merge pull request #3313 from sivasathyaseeelan/test-SDEFunctionExpr
test: added tests for SDEFunctionExpr
2 parents 5ede0a7 + e9b4d6e commit 5cdb4ba

File tree

1 file changed

+43
-1
lines changed

1 file changed

+43
-1
lines changed

test/sdesystem.jl

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -869,6 +869,48 @@ end
869869
@test length(observed(sys)) == 1
870870
end
871871

872+
@testset "SDEFunctionExpr" begin
873+
@parameters σ ρ β
874+
@variables x(tt) y(tt) z(tt)
875+
876+
eqs = [D(x) ~ σ * (y - x),
877+
D(y) ~ x *- z) - y,
878+
D(z) ~ x * y - β * z]
879+
880+
noiseeqs = [0.1 * x,
881+
0.1 * y,
882+
0.1 * z]
883+
884+
@named sys = ODESystem(eqs, tt, [x, y, z], [σ, ρ, β])
885+
886+
@named de = SDESystem(eqs, noiseeqs, tt, [x, y, z], [σ, ρ, β], tspan = (0.0, 10.0))
887+
de = complete(de)
888+
889+
f = SDEFunctionExpr(de)
890+
@test f isa Expr
891+
892+
@testset "Configuration Tests" begin
893+
# Test with `tgrad`
894+
f_tgrad = SDEFunctionExpr(de; tgrad = true)
895+
@test f_tgrad isa Expr
896+
897+
# Test with `jac`
898+
f_jac = SDEFunctionExpr(de; jac = true)
899+
@test f_jac isa Expr
900+
901+
# Test with sparse Jacobian
902+
f_sparse = SDEFunctionExpr(de; sparse = true)
903+
@test f_sparse isa Expr
904+
end
905+
906+
@testset "Ordering Tests" begin
907+
dvs = [z, y, x]
908+
ps = [β, ρ, σ]
909+
f_order = SDEFunctionExpr(de, dvs, ps)
910+
@test f_order isa Expr
911+
end
912+
end
913+
872914
@testset "SDESystem Equality with events" begin
873915
@variables X(t)
874916
@parameters p d
@@ -911,4 +953,4 @@ end
911953
@test_throws ErrorException("SDESystem constructed by defining Brownian variables with @brownian must be simplified by calling `structural_simplify` before a SDEProblem can be constructed.") SDEProblem(de, u0map, (0.0, 100.0), parammap)
912954
de = structural_simplify(de)
913955
@test SDEProblem(de, u0map, (0.0, 100.0), parammap) isa SDEProblem
914-
end
956+
end

0 commit comments

Comments
 (0)