Skip to content

Commit 5031a9d

Browse files
Merge pull request #3155 from AayushSabharwal/as/getproperty
fix: fix flattening in `complete`
2 parents 29084c3 + 21efe80 commit 5031a9d

File tree

2 files changed

+45
-44
lines changed

2 files changed

+45
-44
lines changed

src/systems/abstractsystem.jl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -932,10 +932,11 @@ function complete(sys::AbstractSystem; split = true, flatten = true)
932932
@set! sys.ps = unique!(vcat(get_ps(sys), collect(newparams)))
933933
end
934934
if flatten
935-
if sys isa Union{OptimizationSystem, ConstraintsSystem, JumpSystem}
936-
newsys = sys
937-
else
935+
if (eqs = equations(sys)) isa Vector &&
936+
any(eq -> eq isa Equation && isconnection(eq.lhs), eqs)
938937
newsys = expand_connections(sys)
938+
else
939+
newsys = sys
939940
end
940941
newsys = ModelingToolkit.flatten(newsys)
941942
if has_parent(newsys) && get_parent(sys) === nothing

test/runtests.jl

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -19,48 +19,48 @@ end
1919
@time begin
2020
if GROUP == "All" || GROUP == "InterfaceI"
2121
@testset "InterfaceI" begin
22-
# @safetestset "Linear Algebra Test" include("linalg.jl")
23-
# @safetestset "AbstractSystem Test" include("abstractsystem.jl")
24-
# @safetestset "Variable Scope Tests" include("variable_scope.jl")
25-
# @safetestset "Symbolic Parameters Test" include("symbolic_parameters.jl")
26-
# @safetestset "Parsing Test" include("variable_parsing.jl")
27-
# @safetestset "Simplify Test" include("simplify.jl")
28-
# @safetestset "Direct Usage Test" include("direct.jl")
29-
# @safetestset "System Linearity Test" include("linearity.jl")
30-
# @safetestset "Input Output Test" include("input_output_handling.jl")
31-
# @safetestset "Clock Test" include("clock.jl")
32-
# @safetestset "ODESystem Test" include("odesystem.jl")
33-
# @safetestset "Dynamic Quantities Test" include("dq_units.jl")
34-
# @safetestset "Unitful Quantities Test" include("units.jl")
35-
# @safetestset "Mass Matrix Test" include("mass_matrix.jl")
36-
# @safetestset "InitializationSystem Test" include("initializationsystem.jl")
37-
# @safetestset "Guess Propagation" include("guess_propagation.jl")
38-
# @safetestset "Hierarchical Initialization Equations" include("hierarchical_initialization_eqs.jl")
39-
# @safetestset "Reduction Test" include("reduction.jl")
40-
# @safetestset "Split Parameters Test" include("split_parameters.jl")
41-
# @safetestset "StaticArrays Test" include("static_arrays.jl")
42-
# @safetestset "Components Test" include("components.jl")
43-
# @safetestset "Model Parsing Test" include("model_parsing.jl")
44-
# @safetestset "Error Handling" include("error_handling.jl")
45-
# @safetestset "StructuralTransformations" include("structural_transformation/runtests.jl")
46-
# @safetestset "State Selection Test" include("state_selection.jl")
47-
# @safetestset "Symbolic Event Test" include("symbolic_events.jl")
48-
# @safetestset "Stream Connect Test" include("stream_connectors.jl")
49-
# @safetestset "Domain Connect Test" include("domain_connectors.jl")
50-
# @safetestset "Lowering Integration Test" include("lowering_solving.jl")
51-
# @safetestset "Dependency Graph Test" include("dep_graphs.jl")
52-
# @safetestset "Function Registration Test" include("function_registration.jl")
53-
# @safetestset "Precompiled Modules Test" include("precompile_test.jl")
54-
# @safetestset "DAE Jacobians Test" include("dae_jacobian.jl")
55-
# @safetestset "Jacobian Sparsity" include("jacobiansparsity.jl")
22+
@safetestset "Linear Algebra Test" include("linalg.jl")
23+
@safetestset "AbstractSystem Test" include("abstractsystem.jl")
24+
@safetestset "Variable Scope Tests" include("variable_scope.jl")
25+
@safetestset "Symbolic Parameters Test" include("symbolic_parameters.jl")
26+
@safetestset "Parsing Test" include("variable_parsing.jl")
27+
@safetestset "Simplify Test" include("simplify.jl")
28+
@safetestset "Direct Usage Test" include("direct.jl")
29+
@safetestset "System Linearity Test" include("linearity.jl")
30+
@safetestset "Input Output Test" include("input_output_handling.jl")
31+
@safetestset "Clock Test" include("clock.jl")
32+
@safetestset "ODESystem Test" include("odesystem.jl")
33+
@safetestset "Dynamic Quantities Test" include("dq_units.jl")
34+
@safetestset "Unitful Quantities Test" include("units.jl")
35+
@safetestset "Mass Matrix Test" include("mass_matrix.jl")
36+
@safetestset "InitializationSystem Test" include("initializationsystem.jl")
37+
@safetestset "Guess Propagation" include("guess_propagation.jl")
38+
@safetestset "Hierarchical Initialization Equations" include("hierarchical_initialization_eqs.jl")
39+
@safetestset "Reduction Test" include("reduction.jl")
40+
@safetestset "Split Parameters Test" include("split_parameters.jl")
41+
@safetestset "StaticArrays Test" include("static_arrays.jl")
42+
@safetestset "Components Test" include("components.jl")
43+
@safetestset "Model Parsing Test" include("model_parsing.jl")
44+
@safetestset "Error Handling" include("error_handling.jl")
45+
@safetestset "StructuralTransformations" include("structural_transformation/runtests.jl")
46+
@safetestset "State Selection Test" include("state_selection.jl")
47+
@safetestset "Symbolic Event Test" include("symbolic_events.jl")
48+
@safetestset "Stream Connect Test" include("stream_connectors.jl")
49+
@safetestset "Domain Connect Test" include("domain_connectors.jl")
50+
@safetestset "Lowering Integration Test" include("lowering_solving.jl")
51+
@safetestset "Dependency Graph Test" include("dep_graphs.jl")
52+
@safetestset "Function Registration Test" include("function_registration.jl")
53+
@safetestset "Precompiled Modules Test" include("precompile_test.jl")
54+
@safetestset "DAE Jacobians Test" include("dae_jacobian.jl")
55+
@safetestset "Jacobian Sparsity" include("jacobiansparsity.jl")
5656
@safetestset "Modelingtoolkitize Test" include("modelingtoolkitize.jl")
57-
# @safetestset "FuncAffect Test" include("funcaffect.jl")
58-
# @safetestset "Constants Test" include("constants.jl")
59-
# @safetestset "Parameter Dependency Test" include("parameter_dependencies.jl")
60-
# @safetestset "Generate Custom Function Test" include("generate_custom_function.jl")
61-
# @safetestset "Initial Values Test" include("initial_values.jl")
62-
# @safetestset "Equation Type Accessors Test" include("equation_type_accessors.jl")
63-
# @safetestset "Equations with complex values" include("complex.jl")
57+
@safetestset "FuncAffect Test" include("funcaffect.jl")
58+
@safetestset "Constants Test" include("constants.jl")
59+
@safetestset "Parameter Dependency Test" include("parameter_dependencies.jl")
60+
@safetestset "Generate Custom Function Test" include("generate_custom_function.jl")
61+
@safetestset "Initial Values Test" include("initial_values.jl")
62+
@safetestset "Equation Type Accessors Test" include("equation_type_accessors.jl")
63+
@safetestset "Equations with complex values" include("complex.jl")
6464
end
6565
end
6666

0 commit comments

Comments
 (0)