Skip to content

Commit ceb2b44

Browse files
committed
Fix a few tests and printing
1 parent 302222c commit ceb2b44

File tree

5 files changed

+16
-12
lines changed

5 files changed

+16
-12
lines changed

src/systems/abstractsystem.jl

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -392,9 +392,13 @@ function (f::AbstractSysToExpr)(O)
392392
return build_expr(:call, Any[operation(O); f.(arguments(O))])
393393
end
394394

395-
function Base.show(io::IO, sys::AbstractSystem)
395+
function Base.show(io::IO, ::MIME"text/plain", sys::AbstractSystem)
396396
eqs = equations(sys)
397-
Base.printstyled(io, "Model $(nameof(sys)) with $(length(eqs)) equations\n"; bold=true)
397+
if eqs isa AbstractArray
398+
Base.printstyled(io, "Model $(nameof(sys)) with $(length(eqs)) equations\n"; bold=true)
399+
else
400+
Base.printstyled(io, "Model $(nameof(sys))\n"; bold=true)
401+
end
398402
# The reduced equations are usually very long. It's not that useful to print
399403
# them.
400404
#Base.print_matrix(io, eqs)

src/systems/optimization/optimizationsystem.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,8 @@ function DiffEqBase.OptimizationProblem{iip}(sys::OptimizationSystem, u0,
156156
defs = defaults(sys)
157157
u0 = varmap_to_vars(u0,dvs; defaults=defs)
158158
p = varmap_to_vars(parammap,ps; defaults=defs)
159-
lb = varmap_to_vars(lb,dvs)
160-
ub = varmap_to_vars(ub,dvs)
159+
lb = varmap_to_vars(lb,dvs; check=false)
160+
ub = varmap_to_vars(ub,dvs; check=false)
161161
OptimizationProblem{iip}(_f,u0,p;lb=lb,ub=ub,kwargs...)
162162
end
163163

src/systems/pde/pdesystem.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,14 @@ end
6060
Base.getproperty(x::PDESystem, sym::Symbol) = getfield(x, sym)
6161

6262
Base.summary(prob::PDESystem) = string(nameof(typeof(prob)))
63-
function Base.show(io::IO, sys::PDESystem)
63+
function Base.show(io::IO, ::MIME"text/plain", sys::PDESystem)
6464
println(io,summary(sys))
6565
println(io,"Equations: ", get_eqs(sys))
6666
println(io,"Boundary Conditions: ", get_bcs(sys))
6767
println(io,"Domain: ", get_domain(sys))
6868
println(io,"Dependent Variables: ", get_depvars(sys))
6969
println(io,"Independent Variables: ", get_indvars(sys))
7070
println(io,"Parameters: ", get_ps(sys))
71-
println(io,"Default Parameter Values", get_defaults(sys))
71+
print(io,"Default Parameter Values", get_defaults(sys))
7272
return nothing
7373
end

src/variables.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ Takes a list of pairs of `variables=>values` and an ordered list of variables
1010
and creates the array of values in the correct order with default values when
1111
applicable.
1212
"""
13-
function varmap_to_vars(varmap, varlist; defaults=Dict())
13+
function varmap_to_vars(varmap, varlist; defaults=Dict(), check=true)
1414
# Edge cases where one of the arguments is effectively empty.
1515
if varmap isa DiffEqBase.NullParameters || varmap === nothing || isempty(varmap)
1616
if isempty(defaults)
17-
isempty(varlist) || throw_missingvars(varlist)
17+
check && (isempty(varlist) || throw_missingvars(varlist))
1818
return nothing
1919
else
2020
varmap = Dict()
@@ -28,7 +28,7 @@ function varmap_to_vars(varmap, varlist; defaults=Dict())
2828
if eltype(varmap) <: Pair # `varmap` is a dict or an array of pairs
2929
varmap = todict(varmap)
3030
rules = Dict(varmap)
31-
vals = _varmap_to_vars(varmap, varlist; defaults=defaults)
31+
vals = _varmap_to_vars(varmap, varlist; defaults=defaults, check=check)
3232
else # plain array-like initialization
3333
vals = varmap
3434
end
@@ -42,7 +42,7 @@ function varmap_to_vars(varmap, varlist; defaults=Dict())
4242
end
4343
end
4444

45-
function _varmap_to_vars(varmap::Dict, varlist; defaults=Dict())
45+
function _varmap_to_vars(varmap::Dict, varlist; defaults=Dict(), check=false)
4646
varmap = merge(defaults, varmap) # prefers the `varmap`
4747
varmap = Dict(Symbolics.diff2term(value(k))=>value(varmap[k]) for k in keys(varmap))
4848
# resolve symbolic parameter expressions
@@ -53,7 +53,7 @@ function _varmap_to_vars(varmap::Dict, varlist; defaults=Dict())
5353
T = Base.isconcretetype(T′) ? T′ : Base.promote_typeof(values(varmap)...)
5454
out = Vector{T}(undef, length(varlist))
5555
missingvars = setdiff(varlist, keys(varmap))
56-
isempty(missingvars) || throw_missingvars(missingvars)
56+
check && (isempty(missingvars) || throw_missingvars(missingvars))
5757

5858
for (i, var) in enumerate(varlist)
5959
out[i] = varmap[var]

test/sdesystem.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ solexpr = solve(eval(probexpr),SRIW1(),seed=1)
2929
@test all(x->x==0,Array(sol-solexpr))
3030

3131
# Test no error
32-
SDEProblem(de,nothing,nothing,SciMLBase.NullParameters())
32+
@test_nowarn SDEProblem(de,zeros(3),(0, 10.0),zeros(3))
3333

3434
noiseeqs_nd = [0.01*x 0.01*x*y 0.02*x*z
3535
σ 0.01*y 0.02*x*z

0 commit comments

Comments
 (0)