Skip to content

Commit

Permalink
Merge pull request #658 from EOMYS-Public/Key
Browse files Browse the repository at this point in the history
[NF] adding possibility to have key in notch
  • Loading branch information
BonneelP authored Oct 13, 2023
2 parents 9e483ec + 8d99769 commit 8013125
Show file tree
Hide file tree
Showing 191 changed files with 36,542 additions and 12,395 deletions.
92 changes: 92 additions & 0 deletions Tests/GUI/Dialog/DMachineSetup/PMSlot/test_PMSlot10.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@
from Tests.GUI import gui_option # Set unit as [m]
from pyleecan.Classes.LamSlotMag import LamSlotMag
from pyleecan.Classes.SlotM10 import SlotM10
from pyleecan.Classes.Notch import Notch
from pyleecan.GUI.Dialog.DMachineSetup.SMSlot.PMSlot10.PMSlot10 import PMSlot10
from pyleecan.Classes.Material import Material
from pyleecan.GUI.Dialog.DMatLib.DMatLib import MACH_KEY, LIB_KEY


import pytest
Expand Down Expand Up @@ -115,6 +118,94 @@ def test_check(self):
self.test_obj.slot = SlotM10(H0=0.10, Hmag=0.10, W0=0.10, Wmag=None)
assert self.widget.check(self.test_obj) == "You must set Wmag !"

def test_set_Wkey(self):
"""Check that the Widget allow to update Wkey"""

# test if widget is disabled if notch_obj=None
self.test_obj = LamSlotMag(Rint=0.1, Rext=0.2)
self.test_obj.slot = SlotM10(H0=0.10, W0=0.13, Wmag=0.14, Hmag=0.15)
self.material_dict = {LIB_KEY: list(), MACH_KEY: list()}
self.mat1 = Material(name="Steel1")
notch = Notch(self.mat1, None, None)
self.widget = PMSlot10(
self.test_obj, material_dict=self.material_dict, notch_obj=None
)

assert self.widget.unit_Wkey.isEnabled() == False
assert self.widget.in_Wkey.isEnabled() == False
assert self.widget.lf_Wkey.isEnabled() == False
assert self.widget.unit_Wmag.isEnabled() == True
assert self.widget.in_Wmag.isEnabled() == True
assert self.widget.lf_Wmag.isEnabled() == True

self.widget = PMSlot10(
self.test_obj, material_dict=self.material_dict, notch_obj=notch
)

assert self.widget.g_key.isChecked()
assert self.widget.unit_Wkey.isEnabled() == True
assert self.widget.in_Wkey.isEnabled() == True
assert self.widget.lf_Wkey.isEnabled() == True
assert self.widget.unit_Wmag.isHidden() == True
assert self.widget.in_Wmag.isHidden() == True
assert self.widget.lf_Wmag.isHidden() == True
self.widget.g_key.setChecked(False)
assert self.widget.unit_Wkey.isEnabled() == False
assert self.widget.in_Wkey.isEnabled() == False
assert self.widget.lf_Wkey.isEnabled() == False
self.widget.g_key.setChecked(True)
# Check Unit
assert self.widget.unit_Wkey.text() == "[m]"
# Change value in GUI
self.widget.lf_Wkey.clear()
QTest.keyClicks(self.widget.lf_Wkey, "0.61")
self.widget.lf_Wkey.editingFinished.emit() # To trigger the slot

assert self.widget.slot.Wmag == 0.61

def test_set_Hkey(self):
"""Check that the Widget allow to update Hkey"""
self.test_obj = LamSlotMag(Rint=0.1, Rext=0.2)
self.test_obj.slot = SlotM10(H0=0.10, W0=0.13, Wmag=0.14, Hmag=0.15)
self.material_dict = {LIB_KEY: list(), MACH_KEY: list()}
self.mat1 = Material(name="Steel1")
notch = Notch(self.mat1, None, None)
self.widget = PMSlot10(
self.test_obj, material_dict=self.material_dict, notch_obj=None
)

assert self.widget.unit_Hkey.isEnabled() == False
assert self.widget.in_Hkey.isEnabled() == False
assert self.widget.lf_Hkey.isEnabled() == False
assert self.widget.unit_Hmag.isEnabled() == True
assert self.widget.in_Hmag.isEnabled() == True
assert self.widget.lf_Hmag.isEnabled() == True

self.widget = PMSlot10(
self.test_obj, material_dict=self.material_dict, notch_obj=notch
)
assert self.widget.g_key.isChecked()
assert self.widget.unit_Hkey.isEnabled() == True
assert self.widget.in_Hkey.isEnabled() == True
assert self.widget.lf_Hkey.isEnabled() == True
assert self.widget.unit_Hmag.isHidden() == True
assert self.widget.in_Hmag.isHidden() == True
assert self.widget.lf_Hmag.isHidden() == True
self.widget.g_key.setChecked(False)
assert self.widget.unit_Hkey.isEnabled() == False
assert self.widget.in_Hkey.isEnabled() == False
assert self.widget.lf_Hkey.isEnabled() == False
self.widget.g_key.setChecked(True)

# Check Unit
assert self.widget.unit_Hkey.text() == "[m]"
# Change value in GUI
self.widget.lf_Hkey.clear()
QTest.keyClicks(self.widget.lf_Hkey, "0.61")
self.widget.lf_Hkey.editingFinished.emit() # To trigger the slot

assert self.widget.slot.Hmag == 0.61


if __name__ == "__main__":
a = TestPMSlot10()
Expand All @@ -123,4 +214,5 @@ def test_check(self):
a.test_init()
a.test_output_txt()
a.teardown_class()
a.test_set_Wkey()
print("Done")
98 changes: 97 additions & 1 deletion Tests/GUI/Dialog/DMachineSetup/PMSlot/test_PMSlot11.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
from pyleecan.Classes.LamSlotMag import LamSlotMag
from pyleecan.Classes.SlotM11 import SlotM11
from pyleecan.GUI.Dialog.DMachineSetup.SMSlot.PMSlot11.PMSlot11 import PMSlot11
from pyleecan.Classes.Notch import Notch
from pyleecan.Classes.Material import Material
from pyleecan.GUI.Dialog.DMatLib.DMatLib import MACH_KEY, LIB_KEY


import pytest
Expand Down Expand Up @@ -192,13 +195,106 @@ def test_check(self):
)
assert self.widget.check(self.test_obj) is None

def test_set_Wkey(self):
"""Check that the Widget allow to update Wkey"""
self.test_obj = LamSlotMag(Rint=0.1, Rext=0.2)
self.test_obj.slot = SlotM11(H0=0.10, W0=0.13, Wmag=0.14, Hmag=0.15)
self.material_dict = {LIB_KEY: list(), MACH_KEY: list()}
self.mat1 = Material(name="Steel1")
notch = Notch(self.mat1, None, None)
self.widget = PMSlot11(
self.test_obj, material_dict=self.material_dict, notch_obj=None
)

assert self.widget.c_Wkey_unit.isEnabled() == False
assert self.widget.in_Wkey.isEnabled() == False
assert self.widget.lf_Wkey.isEnabled() == False
assert self.widget.c_Wmag_unit.isEnabled() == True
assert self.widget.in_Wmag.isEnabled() == True
assert self.widget.lf_Wmag.isEnabled() == True

self.widget = PMSlot11(
self.test_obj, material_dict=self.material_dict, notch_obj=notch
)

assert self.widget.c_Wmag_unit.isHidden() == True
assert self.widget.in_Wmag.isHidden() == True
assert self.widget.lf_Wmag.isHidden() == True
self.widget.g_key.setChecked(False)
assert self.widget.c_Wkey_unit.isEnabled() == False
assert self.widget.in_Wkey.isEnabled() == False
assert self.widget.lf_Wkey.isEnabled() == False
self.widget.g_key.setChecked(True)
assert self.widget.g_key.isChecked()
assert self.widget.c_Wkey_unit.isEnabled() == True
assert self.widget.in_Wkey.isEnabled() == True
assert self.widget.lf_Wkey.isEnabled() == True

self.widget.c_Wkey_unit.setCurrentIndex(0)
assert self.widget.c_Wkey_unit.currentText() == "rad"

self.widget.c_Wkey_unit.setCurrentIndex(1)
assert self.widget.c_Wkey_unit.currentText() == "deg"

self.widget.c_Wkey_unit.setCurrentIndex(0)
# Change value in GUI
self.widget.lf_Wkey.clear()
QTest.keyClicks(self.widget.lf_Wkey, "0.61")
self.widget.lf_Wkey.editingFinished.emit() # To trigger the slot

assert self.widget.slot.Wmag == 0.61

def test_set_Hkey(self):
"""Check that the Widget allow to update Hkey"""
self.test_obj = LamSlotMag(Rint=0.1, Rext=0.2)
self.test_obj.slot = SlotM11(H0=0.10, W0=0.13, Wmag=0.14, Hmag=0.15)
self.material_dict = {LIB_KEY: list(), MACH_KEY: list()}
self.mat1 = Material(name="Steel1")
notch = Notch(self.mat1, None, None)
self.widget = PMSlot11(
self.test_obj, material_dict=self.material_dict, notch_obj=None
)

assert self.widget.unit_Hkey.isEnabled() == False
assert self.widget.in_Hkey.isEnabled() == False
assert self.widget.lf_Hkey.isEnabled() == False
assert self.widget.unit_Hmag.isEnabled() == True
assert self.widget.in_Hmag.isEnabled() == True
assert self.widget.lf_Hmag.isEnabled() == True

self.widget = PMSlot11(
self.test_obj, material_dict=self.material_dict, notch_obj=notch
)

assert self.widget.g_key.isChecked()
assert self.widget.unit_Hkey.isEnabled() == True
assert self.widget.in_Hkey.isEnabled() == True
assert self.widget.lf_Hkey.isEnabled() == True
assert self.widget.unit_Hmag.isHidden() == True
assert self.widget.in_Hmag.isHidden() == True
assert self.widget.lf_Hmag.isHidden() == True
self.widget.g_key.setChecked(False)
assert self.widget.unit_Hkey.isEnabled() == False
assert self.widget.in_Hkey.isEnabled() == False
assert self.widget.lf_Hkey.isEnabled() == False
self.widget.g_key.setChecked(True)

# Check Unit
assert self.widget.unit_Hkey.text() == "[m]"
# Change value in GUI
self.widget.lf_Hkey.clear()
QTest.keyClicks(self.widget.lf_Hkey, "0.61")
self.widget.lf_Hkey.editingFinished.emit() # To trigger the slot

assert self.widget.slot.Hmag == 0.61


if __name__ == "__main__":
a = TestPMSlot11()
a.setup_class()
a.setup_method()
a.test_check()
a.test_change_unit_W0()
a.test_change_unit_Wmag()
a.test_check()
a.teardown_class()
print("Done")
2 changes: 1 addition & 1 deletion Tests/GUI/Dialog/DMachineSetup/PWSlot/test_PWSlot14.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ def test_set_wedge(self):

# Add new type wedge
self.widget.c_wedge_type.setCurrentIndex(1)
assert str(self.widget.c_wedge_type.currentText()) == "Normal"
assert str(self.widget.c_wedge_type.currentText()) == "Standard"
assert self.test_obj.slot.wedge_type == 1


Expand Down
2 changes: 1 addition & 1 deletion Tests/GUI/Dialog/DMachineSetup/PWSlot/test_PWSlot29.py
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ def test_set_wedge(self):
assert self.test_obj.slot.wedge_mat.name == "M400-50A"
# Add new type wedge
self.widget.c_wedge_type.setCurrentIndex(1)
assert str(self.widget.c_wedge_type.currentText()) == "Normal"
assert str(self.widget.c_wedge_type.currentText()) == "Standard"
assert self.test_obj.slot.wedge_type == 1


Expand Down
5 changes: 4 additions & 1 deletion Tests/GUI/Dialog/DMachineSetup/test_notche_addition.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,9 @@ def test_notch_addition(self):
notche_wid.w_notch.lf_H0.editingFinished.emit()
assert notche_wid.w_notch.lf_W0.value() == W0
notche_wid.w_notch.lf_W0.editingFinished.emit()
# No key by default
assert not notche_wid.w_notch.g_key.isChecked()
assert notche_wid.w_notch.notch_obj.key_mat is None
# Checking plot/preview function
notche_wid.b_plot.clicked.emit()
self.widget.w_step.notches_win.b_plot.clicked.emit()
Expand Down Expand Up @@ -200,7 +203,7 @@ def test_notch_addition(self):
assert notche_wid.w_notch.lf_W0.value() == W0
notche_wid.w_notch.lf_W0.editingFinished.emit()

assert notche_wid.check() == "H0 must be higher than 0"
assert notche_wid.check() == "H0 must be higher than 0 or a key must be added"

# Removing the notches with null dimensions
b_remove = self.widget.w_step.notches_win.tab_notch.tabBar().tabButton(
Expand Down
4 changes: 3 additions & 1 deletion Tests/Methods/Machine/test_get_polar_eq.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,11 @@ def test_get_polar_eq_SCIM(self):

fig = plt.gcf()
fig.savefig(join(save_path, "test_get_polar_eq_SCIM_001.png"))
assert len(fig.axes[0].patches) == 227
# 8 Vent + 1 shaft + (2 stator + 2 rotor + 36 slot *2 layers + 28 slot * 1 layer+ 1 SCR)*2
assert len(fig.axes[0].patches) == 219


if __name__ == "__main__":
a = Test_get_polar_eq()
a.test_get_polar_eq_SCIM()
print("Done")
Loading

0 comments on commit 8013125

Please sign in to comment.