diff --git a/src/Blocks/utils.jl b/src/Blocks/utils.jl index bda4200d..1baa46ba 100644 --- a/src/Blocks/utils.jl +++ b/src/Blocks/utils.jl @@ -10,9 +10,8 @@ input = true, description = "Inner variable in RealInput $name" ] - u = collect(u) end - ODESystem(Equation[], t, [u...], []; name = name, guesses = [u => u_start]) + ODESystem(Equation[], t, [u], []; name = name, guesses = [u => u_start]) end @doc """ RealInput(;name, u_start) @@ -31,8 +30,7 @@ Connector with one input signal of type Real. input = true, description = "Inner variable in RealInputArray $name" ] - u = collect(u) - ODESystem(Equation[], t, [u...], []; name = name, guesses = [u => u_start]) + ODESystem(Equation[], t, [u], []; name = name, guesses = [u => u_start]) end @doc """ RealInputArray(;name, nin, u_start) @@ -59,9 +57,8 @@ Connector with an array of input signals of type Real. output = true, description = "Inner variable in RealOutput $name" ] - u = collect(u) end - ODESystem(Equation[], t, [u...], []; name = name, guesses = [u => u_start]) + ODESystem(Equation[], t, [u], []; name = name, guesses = [u => u_start]) end @doc """ RealOutput(;name, u_start) @@ -80,8 +77,7 @@ Connector with one output signal of type Real. output = true, description = "Inner variable in RealOutputArray $name" ] - u = collect(u) - ODESystem(Equation[], t, [u...], []; name = name, guesses = [u => u_start]) + ODESystem(Equation[], t, [u], []; name = name, guesses = [u => u_start]) end @doc """ RealOutputArray(;name, nout, u_start) diff --git a/test/Blocks/utils.jl b/test/Blocks/utils.jl new file mode 100644 index 00000000..68917d65 --- /dev/null +++ b/test/Blocks/utils.jl @@ -0,0 +1,16 @@ +using ModelingToolkitStandardLibrary.Blocks +using ModelingToolkit + +@testset "Guesses" begin + for (block, guess) in [ + (RealInput(; name = :a), 0.0), + (RealInput(; nin = 3, name = :a), zeros(3)), + (RealOutput(; name = :a), 0.0), + (RealOutput(; nout = 3, name = :a), zeros(3)), + (RealInputArray(; nin = 3, name = :a), zeros(3)), + (RealOutputArray(; nout = 3, name = :a), zeros(3)), + ] + guesses = ModelingToolkit.guesses(block) + @test guesses[@nonamespace block.u] == guess + end +end diff --git a/test/runtests.jl b/test/runtests.jl index 35bc5eb4..da9e9a21 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -5,6 +5,9 @@ using SafeTestsets end # Blocks +@safetestset "Blocks: utils" begin + include("Blocks/utils.jl") +end @safetestset "Blocks: math" begin include("Blocks/math.jl") end