@@ -20,6 +20,7 @@ class SomeNode(Node, Named):
2020 optional : Optional [Node ] = None
2121 multiple_opt : List [Optional [Node ]] = dataclasses .field (default_factory = list )
2222 internal : Node = internal_field (default = None )
23+ optional_ref : Optional [ReferenceByName ["SomeNode" ]] = None
2324
2425 def __post_init__ (self ):
2526 self .bar = 5
@@ -208,7 +209,7 @@ def frob_node(_: Node):
208209 pass
209210
210211 pds = [pd for pd in sorted (SomeNode .node_properties , key = lambda x : x .name )]
211- self .assertEqual (8 , len (pds ), f"{ pds } should be 7 " )
212+ self .assertEqual (9 , len (pds ), f"{ pds } should be 9 " )
212213 self .assertEqual ("bar" , pds [0 ].name )
213214 self .assertFalse (pds [0 ].is_containment )
214215 self .assertEqual ("containment" , pds [1 ].name )
@@ -226,8 +227,11 @@ def frob_node(_: Node):
226227 self .assertEqual ("optional" , pds [6 ].name )
227228 self .assertTrue (pds [6 ].is_containment )
228229 self .assertEqual (Multiplicity .OPTIONAL , pds [6 ].multiplicity )
229- self .assertEqual ("reference " , pds [7 ].name )
230+ self .assertEqual ("optional_ref " , pds [7 ].name )
230231 self .assertTrue (pds [7 ].is_reference )
232+ self .assertEqual (Multiplicity .OPTIONAL , pds [7 ].multiplicity )
233+ self .assertEqual ("reference" , pds [8 ].name )
234+ self .assertTrue (pds [8 ].is_reference )
231235
232236 self .assertRaises (Exception , lambda : [x for x in InvalidNode .node_properties ])
233237
@@ -237,7 +241,7 @@ def frob_node_2(_: Node):
237241 pass
238242
239243 pds = [pd for pd in sorted (ExtendedNode .node_properties , key = lambda x : x .name )]
240- self .assertEqual (15 , len (pds ), f"{ pds } " )
244+ self .assertEqual (16 , len (pds ), f"{ pds } " )
241245 self .assertEqual ("bar" , pds [0 ].name )
242246 self .assertFalse (pds [0 ].is_containment )
243247 self .assertEqual ("cont_fwd" , pds [1 ].name )
0 commit comments