Skip to content

Commit aa84f5e

Browse files
test: test no specialization of nonnumeric buffers
1 parent 1dd916d commit aa84f5e

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

test/mtkparameters.jl

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ ps = MTKParameters(
357357
(BlockedArray([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], [3, 3]),
358358
BlockedArray(falses(1), [1, 0])),
359359
(), (), ())
360-
@test SciMLBase.get_saveable_values(sys, ps, 1).x isa Tuple{Vector{Float64}, Vector{Bool}}
360+
@test SciMLBase.get_saveable_values(sys, ps, 1).x isa Tuple{Vector{Float64}, BitVector}
361361
tsidx1 = 1
362362
tsidx2 = 2
363363
@test length(ps.discrete[1][Block(tsidx1)]) == 3
@@ -368,3 +368,14 @@ with_updated_parameter_timeseries_values(
368368
sys, ps, tsidx1 => ModelingToolkit.NestedGetIndex(([10.0, 11.0, 12.0], [false])))
369369
@test ps.discrete[1][Block(tsidx1)] == [10.0, 11.0, 12.0]
370370
@test ps.discrete[2][Block(tsidx1)][] == false
371+
372+
@testset "Avoid specialization of nonnumeric parameters on `remake_buffer`" begin
373+
@variables x(t)
374+
@parameters p::Any
375+
@named sys = System(D(x) ~ x, t, [x], [p])
376+
sys = complete(sys)
377+
ps = MTKParameters(sys, [p => 1.0])
378+
@test ps.nonnumeric isa Tuple{Vector{Any}}
379+
ps2 = remake_buffer(sys, ps, [p], [:a])
380+
@test ps2.nonnumeric isa Tuple{Vector{Any}}
381+
end

0 commit comments

Comments
 (0)