Skip to content

Commit 4594372

Browse files
Fix/issue 3913 (#4436)
1 parent c3efa93 commit 4594372

File tree

2 files changed

+26
-12
lines changed

2 files changed

+26
-12
lines changed

_unittest/test_01_Design.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,17 @@ def test_app(self):
3838
assert self.aedtapp
3939

4040
def test_01_designname(self):
41-
self.aedtapp.design_name = "myname"
42-
assert self.aedtapp.design_name == "myname"
41+
# TODO: Remove subsequent dependence on string "myname"
42+
design_names = ["myname", "design2"]
43+
self.aedtapp.design_name = design_names[0] # Change the design name.
44+
assert self.aedtapp.design_name == design_names[0]
45+
self.aedtapp.insert_design(design_names[1]) # Insert a new design
46+
assert self.aedtapp.design_name == design_names[1]
47+
self.aedtapp.design_name = design_names[0] # Change current design back.
48+
assert len(self.aedtapp.design_list) == 2 # Make sure there are still 2 designs.
49+
assert self.aedtapp.design_list[0] == design_names[0] # Make sure the name is correct.
50+
self.aedtapp.delete_design(design_names[1]) # Delete the 2nd design
51+
assert len(self.aedtapp.design_list) == 1
4352

4453
def test_01_version_id(self):
4554
assert self.aedtapp.aedt_version_id

pyaedt/application/Design.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -603,16 +603,21 @@ def design_name(self, new_name):
603603
if ";" in new_name:
604604
new_name = new_name.split(";")[1]
605605

606-
self.odesign.RenameDesignInstance(self.design_name, new_name)
607-
timeout = 5.0
608-
timestep = 0.1
609-
while new_name not in [
610-
i.GetName() if ";" not in i.GetName() else i.GetName().split(";")[1]
611-
for i in list(self._oproject.GetDesigns())
612-
]:
613-
time.sleep(timestep)
614-
timeout -= timestep
615-
assert timeout >= 0
606+
# If new_name is the name of an existing design, set the current
607+
# design to this design.
608+
if new_name in self.design_list:
609+
self.set_active_design(new_name)
610+
else: # Otherwise rename the current design.
611+
self.odesign.RenameDesignInstance(self.design_name, new_name)
612+
timeout = 5.0
613+
timestep = 0.1
614+
while new_name not in [
615+
i.GetName() if ";" not in i.GetName() else i.GetName().split(";")[1]
616+
for i in list(self._oproject.GetDesigns())
617+
]:
618+
time.sleep(timestep)
619+
timeout -= timestep
620+
assert timeout >= 0
616621

617622
@property
618623
def design_list(self):

0 commit comments

Comments
 (0)