File tree Expand file tree Collapse file tree 2 files changed +10
-6
lines changed
src/power_grid_model_ds/_core/model/grids Expand file tree Collapse file tree 2 files changed +10
-6
lines changed Original file line number Diff line number Diff line change @@ -441,20 +441,21 @@ def set_feeder_ids(self):
441441 set_feeder_ids (grid = self )
442442
443443 @classmethod
444- def from_extended (cls , extended : "Grid" , load_graphs : bool = True ) -> "Grid" :
444+ def from_extended (cls , extended : "Grid" ) -> "Grid" :
445445 """Create a grid from an extended Grid object."""
446446 new_grid = cls .empty ()
447447
448+ # Add nodes first, so that branches can reference them
449+ new_grid .append (new_grid .node .__class__ .from_extended (extended .node ))
450+
448451 for field in dataclasses .fields (cls ):
452+ if field .name == "node" :
453+ continue # already added
449454 if issubclass (field .type , FancyArray ):
450455 extended_array = getattr (extended , field .name )
451456 new_array = field .type .from_extended (extended_array )
452- setattr (new_grid , field .name , new_array )
453-
454- new_grid ._id_counter = new_grid .max_id
457+ new_grid .append (new_array , check_max_id = False )
455458
456- if load_graphs :
457- new_grid .graphs = GraphContainer .from_arrays (new_grid )
458459 return new_grid
459460
460461
Original file line number Diff line number Diff line change @@ -62,6 +62,9 @@ def test_from_extended_grid():
6262 assert grid .graphs .active_graph .nr_nodes == len (grid .node )
6363 assert grid .graphs .complete_graph .nr_nodes == len (grid .branches )
6464
65+ assert extended_grid .id_counter == grid .id_counter
66+ assert extended_grid .max_id == grid .max_id
67+
6568
6669def test_grid_build (basic_grid : Grid ):
6770 grid = basic_grid
You can’t perform that action at this time.
0 commit comments