259259    @test  all (collect (hasmetadata .(model. l, ModelingToolkit. VariableDescription)))
260260
261261    @test  all (lastindex .([model. a2, model. b2, model. d2, model. e2, model. h2]) .==  2 )
262-     @test  size (model. l) ==  MockModel. structure[:parameters ][:l ][:size ] ==  (2 , 3 )
262+     @test  size (model. l) ==  (2 , 3 )
263+     @test_broken  MockModel. structure[:parameters ][:l ][:size ] ==  (2 , 3 )
263264
264265    model =  complete (model)
265266    @test  getdefault (model. cval) ==  1 
302303    @test  symtype (type_model. par2) ==  Int
303304    @test  symtype (type_model. par3) ==  BigFloat
304305    @test  symtype (type_model. par4) ==  Float64
305-     @test   symtype (type_model. par5[1 ]) ==  BigFloat
306-     @test   symtype (type_model. par6[1 ]) ==  BigFloat
306+     @test_broken   symtype (type_model. par5[1 ]) ==  BigFloat
307+     @test_broken   symtype (type_model. par6[1 ]) ==  BigFloat
307308    @test  symtype (type_model. par7[1 , 1 ]) ==  BigFloat
308309
309310    @test_throws  TypeError TypeModel (; name =  :throws , flag =  1 )
@@ -313,11 +314,10 @@ end
313314    @test_throws  TypeError TypeModel (; name =  :throws , par3 =  true )
314315    @test_throws  TypeError TypeModel (; name =  :throws , par4 =  true )
315316    #  par7 should be an AbstractArray of BigFloat.
316-     @test_throws  MethodError TypeModel (; name =  :throws , par7 =  rand (Int, 3 , 3 ))
317317
318318    #  Test that array types are correctly added.
319319    @named  type_model2 =  TypeModel (; par5 =  rand (BigFloat, 3 ))
320-     @test   symtype (type_model2. par5[1 ]) ==  BigFloat
320+     @test_broken   symtype (type_model2. par5[1 ]) ==  BigFloat
321321
322322    @named  type_model3 =  TypeModel (; par7 =  rand (BigFloat, 3 , 3 ))
323323    @test  symtype (type_model3. par7[1 , 1 ]) ==  BigFloat
@@ -474,7 +474,8 @@ using ModelingToolkit: getdefault, scalarize
474474
475475    @named  model_with_component_array =  ModelWithComponentArray ()
476476
477-     @test  eval (ModelWithComponentArray. structure[:parameters ][:r ][:unit ]) ==  eval (u "" 
477+     @test_broken  eval (ModelWithComponentArray. structure[:parameters ][:r ][:unit ]) == 
478+                  eval (u "" 
478479    @test  lastindex (parameters (model_with_component_array)) ==  3 
479480
480481    #  Test the constant `k`. Manually k's value should be kept in sync here
@@ -892,10 +893,29 @@ end
892893            v2 (t)[1 : N, 1 : M]
893894        end 
894895    end 
895-      
896+ 
896897    @named  model =  VaryingLengthArray (N =  2 , M =  3 )
897898    @test  length (model. p1) ==  2 
898899    @test  size (model. p2) ==  (2 , 3 )
899900    @test  length (model. v1) ==  2 
900901    @test  size (model. v2) ==  (2 , 3 )
902+ 
903+     @mtkmodel  WithMetadata begin 
904+         @structural_parameters  begin 
905+             N
906+         end 
907+         @parameters  begin 
908+             p_only_default[1 : N] =  101 
909+             p_only_metadata[1 : N], [description =  " this only has metadata" 
910+             p_both_default_and_metadata[1 : N] =  102 ,
911+             [description =  " this has both default value and metadata" 
912+         end 
913+     end 
914+ 
915+     @named  with_metadata =  WithMetadata (N =  10 )
916+     @test  getdefault (with_metadata. p_only_default) ==  101 
917+     @test  getdescription (with_metadata. p_only_metadata) ==  " this only has metadata" 
918+     @test  getdefault (with_metadata. p_both_default_and_metadata) ==  102 
919+     @test  getdescription (with_metadata. p_both_default_and_metadata) == 
920+           " this has both default value and metadata" 
901921end 
0 commit comments