@@ -35,7 +35,8 @@ for pType in [Vector, Tuple]
3535 ([1 , [:b , :c ]], [p[1 ], p[2 : 3 ]], [new_p[1 ], new_p[2 : 3 ]], false ),
3636 ([1 , (:b , :c )], [p[1 ], (p[2 ], p[3 ])], [new_p[1 ], (new_p[2 ], new_p[3 ])], false ),
3737 ((1 , [:b , :c ]), (p[1 ], p[2 : 3 ]), (new_p[1 ], new_p[2 : 3 ]), true ),
38- ((1 , (:b , :c )), (p[1 ], (p[2 ], p[3 ])), (new_p[1 ], (new_p[2 ], new_p[3 ])), true )
38+ ((1 , (:b , :c )), (p[1 ], (p[2 ], p[3 ])), (new_p[1 ], (new_p[2 ], new_p[3 ])), true ),
39+ ([:a , :b ], p[1 : 2 ], 42 , true ),
3940 ]
4041 get = getp (sys, sym)
4142 set! = setp (sys, sym)
@@ -58,13 +59,13 @@ for pType in [Vector, Tuple]
5859 end
5960 @test fi. counter[] == 1
6061
61- @test get (fi) == newval
62+ @test all ( get (fi) . == newval)
6263 set! (fi, oldval)
6364 @test get (fi) == oldval
6465 @test fi. counter[] == 2
6566
6667 fi. ps[sym] = newval
67- @test get (fi) == newval
68+ @test all ( get (fi) . == newval)
6869 @test fi. counter[] == 3
6970 fi. ps[sym] = oldval
7071 @test get (fi) == oldval
@@ -79,7 +80,7 @@ for pType in [Vector, Tuple]
7980 else
8081 set! (p, newval)
8182 end
82- @test get (p) == newval
83+ @test all ( get (p) . == newval)
8384 set! (p, oldval)
8485 @test get (p) == oldval
8586 @test fi. counter[] == 4
@@ -99,6 +100,11 @@ for pType in [Vector, Tuple]
99100 end
100101end
101102
103+ # check throws if setp dimensions do not match
104+ fi = FakeIntegrator (sys, [1.0 , 2.0 , 3.0 ], Ref (0 ))
105+ @test_throws DimensionMismatch setp (fi, 1 : 2 )(fi, [- 1.0 , - 2.0 , - 3.0 ])
106+ @test_throws DimensionMismatch setp (fi, 1 : 3 )(fi, [- 1.0 , - 2.0 ])
107+
102108struct FakeSolution
103109 sys:: SymbolCache
104110 u:: Vector{Vector{Float64}}
0 commit comments