@@ -35,7 +35,8 @@ for pType in [Vector, Tuple]
35
35
([1 , [:b , :c ]], [p[1 ], p[2 : 3 ]], [new_p[1 ], new_p[2 : 3 ]], false ),
36
36
([1 , (:b , :c )], [p[1 ], (p[2 ], p[3 ])], [new_p[1 ], (new_p[2 ], new_p[3 ])], false ),
37
37
((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 ),
39
40
]
40
41
get = getp (sys, sym)
41
42
set! = setp (sys, sym)
@@ -58,13 +59,13 @@ for pType in [Vector, Tuple]
58
59
end
59
60
@test fi. counter[] == 1
60
61
61
- @test get (fi) == newval
62
+ @test all ( get (fi) . == newval)
62
63
set! (fi, oldval)
63
64
@test get (fi) == oldval
64
65
@test fi. counter[] == 2
65
66
66
67
fi. ps[sym] = newval
67
- @test get (fi) == newval
68
+ @test all ( get (fi) . == newval)
68
69
@test fi. counter[] == 3
69
70
fi. ps[sym] = oldval
70
71
@test get (fi) == oldval
@@ -79,7 +80,7 @@ for pType in [Vector, Tuple]
79
80
else
80
81
set! (p, newval)
81
82
end
82
- @test get (p) == newval
83
+ @test all ( get (p) . == newval)
83
84
set! (p, oldval)
84
85
@test get (p) == oldval
85
86
@test fi. counter[] == 4
@@ -99,6 +100,11 @@ for pType in [Vector, Tuple]
99
100
end
100
101
end
101
102
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
+
102
108
struct FakeSolution
103
109
sys:: SymbolCache
104
110
u:: Vector{Vector{Float64}}
0 commit comments