Skip to content

Commit 19880fc

Browse files
committed
init
1 parent c5265b1 commit 19880fc

File tree

3 files changed

+43
-11
lines changed

3 files changed

+43
-11
lines changed

docs/src/api.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ species
157157
nonspecies
158158
reactionparams
159159
reactions
160+
nonreactions
160161
numspecies
161162
numparams
162163
numreactions

src/Catalyst.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ export get_noise_scaling, has_noise_scaling
9898
# The `ReactionSystem` structure and its functions.
9999
include("reactionsystem.jl")
100100
export ReactionSystem, isspatial
101-
export species, nonspecies, reactionparams, reactions, speciesmap, paramsmap
101+
export species, nonspecies, reactionparams, reactions, nonreactions, speciesmap, paramsmap
102102
export numspecies, numreactions, numreactionparams, setdefaults!
103103
export make_empty_network, reactionparamsmap
104104
export dependants, dependents, substoichmat, prodstoichmat, netstoichmat

test/reactionsystem_core/coupled_equation_crn_systems.jl

Lines changed: 41 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -213,19 +213,50 @@ end
213213

214214
### Accessor Tests ###
215215

216-
# Checks that basic accessors gives correct output.
216+
# Checks basic accessor functions for a basic coupled CRN/equation model.
217217
let
218-
# Creates a basic model with combination of equations and reactions.
219-
coupled_rs = @reaction_network coupled_rs begin
220-
@variables VV(t)
221-
@equations begin
222-
D(V) ~ X - V
223-
VV^2 ~ log(V) + X
224-
end
225-
(p,d), 0 <--> X
226-
end
218+
# Creates a reaction system.
219+
t = default_t()
220+
D = default_time_deriv()
221+
@parameters p d v
222+
@species X(t)
223+
@variables V(t) W(t)
227224

225+
eqs = [
226+
Reaction(p, [], [X]),
227+
Reaction(d, [X], []),
228+
Reaction(d, [X], nothing, [2], nothing),
229+
D(V) ~ X - v*V,
230+
W^2 ~ log(V) + X
231+
]
232+
@named coupled_rs = ReactionSystem(eqs, t)
228233

234+
# Check unknowns-related accessors.
235+
@test Catalyst.has_species(coupled_rs)
236+
@test issetequal(Catalyst.get_species(coupled_rs), [X])
237+
@test issetequal(species(coupled_rs), [X])
238+
@test issetequal(ModelingToolkit.get_unknowns(coupled_rs), [X, V, W])
239+
@test issetequal(unknowns(coupled_rs), [X, V, W])
240+
@test issetequal(nonspecies(coupled_rs), [V, W])
241+
@test numspecies(coupled_rs) == 1
242+
243+
# Check parameters-related accessors.
244+
@test Catalyst.has_rxs(coupled_rs)
245+
@test issetequal(Catalyst.get_rxs(coupled_rs), eqs[1:3])
246+
@test issetequal(reactions(coupled_rs), eqs[1:3])
247+
@test issetequal(equations(coupled_rs), eqs)
248+
@test issetequal(nonreactions(coupled_rs), eqs[4:5])
249+
@test issetequal(reactionrates(coupled_rs), [p, d, d])
250+
@test numreactions(coupled_rs) == 3
251+
252+
# Check parameters-related accessors.
253+
@test issetequal(parameters(coupled_rs), [p, d, v])
254+
@test issetequal(reactionparams(coupled_rs), [p, d, v])
255+
@test numparams(coupled_rs) == 3
256+
@test numreactionparams(coupled_rs) == 3
257+
258+
# Check other accessors.
259+
@test !isspatial(coupled_rs)
229260
end
230261

231262

0 commit comments

Comments
 (0)