diff --git a/test/solve_ODEs.jl b/test/solve_ODEs.jl index 00f59a7c6a..a05063637f 100644 --- a/test/solve_ODEs.jl +++ b/test/solve_ODEs.jl @@ -110,3 +110,16 @@ for (i,network) in enumerate(reaction_networks_all) @test solve(prob,Rosenbrock23()).retcode == :Success end end + + +### No parameter test ### + +no_param_network = @reaction_network begin + (1.5,2), ∅ ↔ X +end +for factor in [1e0, 1e1, 1e2] + u0 = factor*rand(length(no_param_network.states)) + prob = ODEProblem(no_param_network,u0,(0.,1000.)) + sol = solve(prob,Rosenbrock23()) + @test abs.(sol.u[end][1] - 1.5/2) < 1e-8 +end diff --git a/test/solve_SDEs.jl b/test/solve_SDEs.jl index a3068b222a..7965ca65dc 100644 --- a/test/solve_SDEs.jl +++ b/test/solve_SDEs.jl @@ -138,3 +138,18 @@ for reaction_network in reaction_networks_all prob = SDEProblem(reaction_network,u0,(0.,1.),p) end end + + +### No parameter test ### + +no_param_network = @reaction_network begin + (1.2,5), X1 ↔ X2 +end +for factor in [1e3, 1e4] + u0 = factor*(1. .+ rand(length(no_param_network.states))) + prob = SDEProblem(no_param_network,u0,(0.,1000.)) + sol = solve(prob,ImplicitEM()) + vals1 = getindex.(sol.u[1:end],1) + vals2 = getindex.(sol.u[1:end],2) + @test mean(vals1) > mean(vals2) +end diff --git a/test/solve_jumps.jl b/test/solve_jumps.jl index 8b05c06d4b..8a30c60ee3 100644 --- a/test/solve_jumps.jl +++ b/test/solve_jumps.jl @@ -107,3 +107,15 @@ for (i,network) in enumerate(reaction_networks_all) @test solve(prob,SSAStepper()).retcode == :Default end end + +no_param_network = @reaction_network begin + (1.2,5), X1 ↔ X2 +end +for factor in [1e1, 1e2] + u0 = rand(1:Int64(factor*100),length(no_param_network.states)) + prob = JumpProblem(no_param_network,DiscreteProblem(no_param_network,u0,(0.,1000.)),Direct()) + sol = solve(prob,SSAStepper()) + vals1 = getindex.(sol.u[1:end],1) + vals2 = getindex.(sol.u[1:end],2) + @test mean(vals1) > mean(vals2) +end diff --git a/test/steady_state_problems.jl b/test/steady_state_problems.jl index 0e49e58cda..e3cd620df4 100644 --- a/test/steady_state_problems.jl +++ b/test/steady_state_problems.jl @@ -48,3 +48,15 @@ for network in steady_state_test_networks, factor in [1e-1, 1e0, 1e1] @test all(abs.(sol_ode.u[end] .- sol_ss.u) .< 1e-4) end + + +### No parameter test ### + +no_param_network = @reaction_network begin + (0.6,3.2), ∅ ↔ X +end +for factor in [1e0, 1e1, 1e2] + u0 = factor*rand(length(no_param_network.states)) + sol_ss = solve(SteadyStateProblem(no_param_network,u0),SSRootfind(),abstol=1e-11) + @test abs.(sol_ss.u[1]-0.6/3.2) < 1e-8 +end