@@ -2,6 +2,7 @@ using ModelingToolkit
22using ModelingToolkit: t_nounits as t, D_nounits as D
33
44@testset " Input map validation" begin
5+ import ModelingToolkit: InvalidKeyError, MissingParametersError
56 @variables X (t)
67 @parameters p d
78 eqs = [D (X) ~ p - d* X]
@@ -10,16 +11,24 @@ using ModelingToolkit: t_nounits as t, D_nounits as D
1011 p = " I accidentally renamed p"
1112 u0 = [X => 1.0 ]
1213 ps = [p => 1.0 , d => 0.5 ]
13- @test_throws ModelingToolkit . BadKeyError oprob = ODEProblem (osys, u0, (0.0 , 1.0 ), ps)
14+ @test_throws MissingParametersError oprob = ODEProblem (osys, u0, (0.0 , 1.0 ), ps)
1415
1516 @parameters p d
1617 ps = [p => 1.0 , d => 0.5 , " Random stuff" => 3.0 ]
17- @test_throws ModelingToolkit . BadKeyError oprob = ODEProblem (osys, u0, (0.0 , 1.0 ), ps)
18+ @test_throws InvalidKeyError oprob = ODEProblem (osys, u0, (0.0 , 1.0 ), ps)
1819
1920 u0 = [:X => 1.0 , " random" => 3.0 ]
20- @test_throws ModelingToolkit . BadKeyError oprob = ODEProblem (osys, u0, (0.0 , 1.0 ), ps)
21+ @test_throws InvalidKeyError oprob = ODEProblem (osys, u0, (0.0 , 1.0 ), ps)
2122
22- @parameters k
23- ps = [p => 1. , d => 0.5 , k => 3. ]
24- @test_throws ModelingToolkit. BadKeyError oprob = ODEProblem (osys, u0, (0.0 , 1.0 ), ps)
23+ @variables x (t) y (t) z (t)
24+ @parameters a b c d
25+ eqs = [D (x) ~ x* a, D (y) ~ y* c, D (z) ~ b + d]
26+ @mtkbuild sys = ODESystem (eqs, t)
27+ pmap = [a => 1 , b => 2 , c => 3 , d => 4 , " b" => 2 ]
28+ u0map = [x => 1 , y => 2 , z => 3 ]
29+ @test_throws InvalidKeyError ODEProblem (sys, u0map, (0. , 1. ), pmap)
30+
31+ pmap = [a => 1 , b => 2 , c => 3 , d => 4 ]
32+ u0map = [x => 1 , y => 2 , z => 3 , :0 => 3 ]
33+ @test_throws InvalidKeyError ODEProblem (sys, u0map, (0. , 1. ), pmap)
2534end
0 commit comments