@@ -4192,4 +4192,52 @@ def test_vertices_get_named_selections(modeler: Modeler):
41924192 assert len (ns_list ) == 2
41934193 assert any (ns .name == "vertex_ns_3" for ns in ns_list )
41944194 else :
4195- assert len (ns_list ) == 0 # No named selection for this vertex
4195+ assert len (ns_list ) == 0 # No named selection for this vertex
4196+
4197+
4198+ def test_components_get_named_selections (modeler : Modeler ):
4199+ # Test getting named selections associated with components
4200+ design = modeler .create_design ("component_named_selections" )
4201+ comp1 = design .add_component ("Component1" )
4202+ comp2 = design .add_component ("Component2" )
4203+ comp3 = design .add_component ("Component3" )
4204+
4205+ # create named selection from components
4206+ design .create_named_selection ("component_ns_1" , components = [comp1 ])
4207+ design .create_named_selection ("component_ns_2" , components = [comp2 ])
4208+
4209+ # Check that components return the correct named selections
4210+ for component in design .components :
4211+ ns_list = component .get_named_selections ()
4212+ if component .id == comp1 .id :
4213+ assert len (ns_list ) == 1
4214+ assert any (ns .name == "component_ns_1" for ns in ns_list )
4215+ elif component .id == comp2 .id :
4216+ assert len (ns_list ) == 1
4217+ assert any (ns .name == "component_ns_2" for ns in ns_list )
4218+ else :
4219+ assert len (ns_list ) == 0 # No named selection for this component
4220+
4221+
4222+ def test_design_point_get_named_selections (modeler : Modeler ):
4223+ # Test getting named selections associated with design points
4224+ design = modeler .create_design ("design_point_named_selections" )
4225+ dp1 = design .add_design_point ("DesignPoint1" , Point3D ([0 , 0 , 0 ]))
4226+ dp2 = design .add_design_point ("DesignPoint2" , Point3D ([1 , 1 , 1 ]))
4227+ dp3 = design .add_design_point ("DesignPoint3" , Point3D ([2 , 2 , 2 ]))
4228+
4229+ # create named selection from design points
4230+ design .create_named_selection ("design_point_ns_1" , design_points = [dp1 ])
4231+ design .create_named_selection ("design_point_ns_2" , design_points = [dp2 ])
4232+
4233+ # Check that design points return the correct named selections
4234+ for design_point in design .design_points :
4235+ ns_list = design_point .get_named_selections ()
4236+ if design_point .id == dp1 .id :
4237+ assert len (ns_list ) == 1
4238+ assert any (ns .name == "design_point_ns_1" for ns in ns_list )
4239+ elif design_point .id == dp2 .id :
4240+ assert len (ns_list ) == 1
4241+ assert any (ns .name == "design_point_ns_2" for ns in ns_list )
4242+ else :
4243+ assert len (ns_list ) == 0 # No named selection for this design point
0 commit comments