Skip to content

Commit 06cf8b8

Browse files
committed
update tests
1 parent d758f63 commit 06cf8b8

File tree

2 files changed

+31
-2
lines changed

2 files changed

+31
-2
lines changed

src/reactionsystem_conversions.jl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -315,8 +315,9 @@ end
315315
# get_depgraph(rs)[i] is the list of reactions with rates depending on species changed by
316316
# i'th reaction.
317317
function get_depgraph(rs)
318-
jdeps = asgraph(rs)
319-
vdeps = variable_dependencies(rs)
318+
eqs = reactions(rs)
319+
jdeps = asgraph(rs; eqs)
320+
vdeps = variable_dependencies(rs; eqs)
320321
eqeq_dependencies(jdeps, vdeps).fadjlist
321322
end
322323

test/reactionsystem_core/reactionsystem.jl

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1062,3 +1062,31 @@ let
10621062
@test issetequal(odes, odeeqs(sys))
10631063
@test length(continuous_events(sys)) == 1
10641064
end
1065+
1066+
let
1067+
t = default_t()
1068+
D = default_time_deriv()
1069+
@parameters λ k
1070+
@variables V(t)
1071+
@species A(t) B(t) C(t)
1072+
md1 = [:physical_scale => PhysicalScale.ODE]
1073+
md2 = [:physical_scale => PhysicalScale.VariableRateJump]
1074+
rxs = [Reaction(k*V, [], [A]), Reaction*A, [B], nothing; metadata = md1),
1075+
Reaction(k, [A, B], nothing), Reaction(λ, [C], [A]; metadata = md2)]
1076+
eqs = [D(V) ~ λ*V*C]
1077+
cevents = [[V ~ 2.0] => [V ~ V/2, A ~ A/2]]
1078+
@named rs = ReactionSystem(vcat(rxs, eqs), t; continuous_events = cevents)
1079+
rs = complete(rs)
1080+
jinput = JumpInputs(rs, [:A => 0, :B => 1, :C => 1, :V => 1.0], (0.0, 10.0), [:k => 1.0, => .4])
1081+
@test jinput.prob isa ODEProblem
1082+
sys = jinput.sys
1083+
@test sys isa JumpSystem
1084+
@test MT.has_equations(sys)
1085+
@test isempty(massactionjumps(sys))
1086+
@test isempty(constantratejumps(sys))
1087+
@test length(variableratejumps(sys)) == 3
1088+
@test length(odeeqs(sys)) == 4
1089+
odes = union(eqs, [D(A) ~ 0, D(B) ~ -λ*A*B, D(C) ~ 0])
1090+
@test issetequal(odes, odeeqs(sys))
1091+
@test length(continuous_events(sys)) == 1
1092+
end

0 commit comments

Comments
 (0)