Source code for pyleecan.Tests.GUI.DMachineSetup.test_PWSlot16
# -*- coding: utf-8 -*-
import sys
from random import uniform
from unittest import TestCase
from numpy import pi
from PyQt5 import QtWidgets
from PyQt5.QtTest import QTest
from ....Classes.LamSlotWind import LamSlotWind
from ....Classes.SlotW16 import SlotW16
from ....GUI.Dialog.DMachineSetup.SWSlot.PWSlot16.PWSlot16 import PWSlot16
[docs]class test_PWSlot16(TestCase):
"""Test that the widget PWSlot16 behave like it should"""
[docs] def setUp(self):
"""Run at the begining of every test to setup the gui"""
self.test_obj = LamSlotWind(Rint=0.1, Rext=0.2)
self.test_obj.slot = SlotW16(H0=0.10, H2=0.12, W0=0.13, W3=0.14, R1=0.15)
self.widget = PWSlot16(self.test_obj)
[docs] @classmethod
def setUpClass(cls):
"""Start the app for the test"""
print("\nStart Test PWSlot16")
cls.app = QtWidgets.QApplication(sys.argv)
[docs] @classmethod
def tearDownClass(cls):
"""Exit the app after the test"""
cls.app.quit()
[docs] def test_init(self):
"""Check that the Widget spinbox initialise to the lamination value"""
self.assertEqual(self.widget.lf_H0.value(), 0.10)
self.assertEqual(self.widget.lf_H2.value(), 0.12)
self.assertEqual(self.widget.lf_W0.value(), 0.13)
self.assertEqual(self.widget.lf_W3.value(), 0.14)
self.assertEqual(self.widget.lf_R1.value(), 0.15)
[docs] def test_set_H0(self):
"""Check that the Widget allow to update H0"""
self.widget.lf_H0.clear() # Clear the field before writing
value = round(uniform(0, 1), 4)
QTest.keyClicks(self.widget.lf_H0, str(value))
self.widget.lf_H0.editingFinished.emit() # To trigger the slot
self.assertEqual(self.widget.slot.H0, value)
[docs] def test_set_H2(self):
"""Check that the Widget allow to update H2"""
self.widget.lf_H2.clear() # Clear the field before writing
value = round(uniform(0, 1), 4)
QTest.keyClicks(self.widget.lf_H2, str(value))
self.widget.lf_H2.editingFinished.emit() # To trigger the slot
self.assertEqual(self.widget.slot.H2, value)
[docs] def test_set_W0(self):
"""Check that the Widget allow to update W0"""
self.widget.lf_W0.clear() # Clear the field before writing
value = round(uniform(0, 1), 4)
QTest.keyClicks(self.widget.lf_W0, str(value))
self.widget.lf_W0.editingFinished.emit() # To trigger the slot
self.assertEqual(self.widget.slot.W0, value)
[docs] def test_set_W3(self):
"""Check that the Widget allow to update W3"""
self.widget.lf_W3.clear() # Clear the field before writing
value = round(uniform(0, 1), 4)
QTest.keyClicks(self.widget.lf_W3, str(value))
self.widget.lf_W3.editingFinished.emit() # To trigger the slot
self.assertEqual(self.widget.slot.W3, value)
[docs] def test_set_R1(self):
"""Check that the Widget allow to update R1"""
self.widget.lf_R1.clear() # Clear the field before writing
value = round(uniform(0, 1), 4)
QTest.keyClicks(self.widget.lf_R1, str(value))
self.widget.lf_R1.editingFinished.emit() # To trigger the slot
self.assertEqual(self.widget.slot.R1, value)
[docs] def test_output_txt(self):
"""Check that the Output text is computed and correct
"""
self.test_obj = LamSlotWind(
Rint=92.5e-3,
Rext=0.2,
is_internal=True,
is_stator=True,
L1=0.95,
Nrvd=1,
Wrvd=0.05,
)
self.test_obj.slot = SlotW16(
Zs=6, W0=2 * pi / 60, W3=30e-3, H0=10e-3, H2=70e-3, R1=15e-3
)
self.widget = PWSlot16(self.test_obj)
self.assertEqual(
self.widget.w_out.out_slot_height.text(), "Slot height: 0.08 m"
)