Skip to content
Open
557 changes: 263 additions & 294 deletions src/sas/qtgui/Perspectives/Invariant/InvariantPerspective.py

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,35 +1,36 @@
import pytest
from PySide6 import QtGui, QtWidgets
from PySide6 import QtGui
from PySide6.QtCore import Qt
from PySide6.QtTest import QTest
from PySide6.QtWidgets import QDialog

from sas.qtgui.Perspectives.Invariant.InvariantDetails import DetailsDialog
from sas.qtgui.Perspectives.Invariant.InvariantUtils import WIDGETS

BG_COLOR_ERR = 'background-color: rgb(244, 170, 164);'
BG_COLOR_ERR = "background-color: rgb(244, 170, 164);"


class InvariantDetailsTest:
"""Test the Invariant Perspective Window"""

@pytest.fixture(autouse=True)
def widget(self, qapp):
'''Create/Destroy the Invariant Details window'''
"""Create/Destroy the Invariant Details window"""

w = DetailsDialog(None)
w._model = QtGui.QStandardItemModel()
w._model.setItem(WIDGETS.W_INVARIANT, QtGui.QStandardItem(str(10.)))
w._model.setItem(WIDGETS.W_INVARIANT, QtGui.QStandardItem(str(10.0)))
w._model.setItem(WIDGETS.W_INVARIANT_ERR, QtGui.QStandardItem(str(0.1)))
w._model.setItem(WIDGETS.W_ENABLE_LOWQ_EX, QtGui.QStandardItem('true'))
w._model.setItem(WIDGETS.D_LOW_QSTAR, QtGui.QStandardItem(str(9.)))
w._model.setItem(WIDGETS.W_ENABLE_LOWQ_EX, QtGui.QStandardItem("true"))
w._model.setItem(WIDGETS.D_LOW_QSTAR, QtGui.QStandardItem(str(9.0)))
w._model.setItem(WIDGETS.D_LOW_QSTAR_ERR, QtGui.QStandardItem(str(0.03)))
w._model.setItem(WIDGETS.D_DATA_QSTAR, QtGui.QStandardItem(str(10.)))
w._model.setItem(WIDGETS.D_DATA_QSTAR, QtGui.QStandardItem(str(10.0)))
w._model.setItem(WIDGETS.D_DATA_QSTAR_ERR, QtGui.QStandardItem(str(0.1)))
w._model.setItem(WIDGETS.D_HIGH_QSTAR, QtGui.QStandardItem(str(1.)))
w._model.setItem(WIDGETS.D_HIGH_QSTAR, QtGui.QStandardItem(str(1.0)))
w._model.setItem(WIDGETS.D_HIGH_QSTAR_ERR, QtGui.QStandardItem(str(0.01)))

# High-Q
w._model.setItem(WIDGETS.W_ENABLE_HIGHQ_EX, QtGui.QStandardItem('false'))
w._model.setItem(WIDGETS.W_ENABLE_HIGHQ_EX, QtGui.QStandardItem("false"))

yield w

Expand All @@ -46,7 +47,7 @@ def testDefaults(self, widget):

widget.warning_msg = "No Details on calculations available...\n"

assert isinstance(widget, QtWidgets.QDialog)
assert isinstance(widget, QDialog)

assert widget.progressBarLowQ.minimum() == 0
assert widget.progressBarLowQ.maximum() == 100
Expand All @@ -55,7 +56,6 @@ def testDefaults(self, widget):
assert widget.progressBarHighQ.minimum() == 0
assert widget.progressBarHighQ.maximum() == 100


# Tooltips
assert widget.txtQData.toolTip() == "Invariant in the data set's Q range."
assert widget.txtQDataErr.toolTip() == "Uncertainty on the invariant from data's range."
Expand All @@ -65,7 +65,7 @@ def testDefaults(self, widget):
assert widget.txtQHighQErr.toolTip() == "Uncertainty on the invariant from high-Q range."

def testOnOK(self, widget):
""" Test closing dialog"""
"""Test closing dialog"""
okButton = widget.cmdOK
QTest.mouseClick(okButton, Qt.LeftButton)

Expand All @@ -74,15 +74,15 @@ def testShowDialog(self, widget):
widget.showDialog()
# Low Q true
assert widget.qlow == 9.0
assert widget.txtQLowQ.text() == '9.0'
assert widget.txtQLowQ.text() == "9.0"
assert widget.progress_low_qstar == 90.0
assert widget.qstar_total == 10.0
assert widget.txtQData.text() == '10.0'
assert widget.txtQDataErr.text() == '0.1'
assert widget.txtQData.text() == "10.0"
assert widget.txtQDataErr.text() == "0.1"

# High Q false
assert widget.txtQHighQ.text() == ''
assert widget.txtQHighQErr.text() == ''
assert widget.txtQHighQ.text() == ""
assert widget.txtQHighQErr.text() == ""
assert widget.progress_high_qstar == 0.0

# Progressbars
Expand All @@ -106,8 +106,8 @@ def testCheckValues(self, widget):
widget.progress_qstar = 0
widget.progress_low_qstar = 10
return_string = widget.checkValues()
assert 'Extrapolated contribution at Low Q is higher than 5% of the invariant.' in return_string
assert 'The sum of all extrapolated contributions is higher than 5% of the invariant.' in return_string
assert "Extrapolated contribution at Low Q is higher than 5% of the invariant." in return_string
assert "The sum of all extrapolated contributions is higher than 5% of the invariant." in return_string

widget.progress_low_qstar = -1
assert widget.checkValues() == "Extrapolated contribution at Low Q < 0.\n"
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@
<bool>false</bool>
</property>
<property name="readOnly">
<bool>false</bool>
<bool>true</bool>
</property>
</widget>
</item>
Expand Down
Loading