Skip to content

Commit

Permalink
tests added and updated
Browse files Browse the repository at this point in the history
  • Loading branch information
mpatrou committed Oct 5, 2023
1 parent 340d01f commit e049fb0
Show file tree
Hide file tree
Showing 2 changed files with 134 additions and 3 deletions.
8 changes: 5 additions & 3 deletions src/shiver/views/workspace_tables.py
Original file line number Diff line number Diff line change
Expand Up @@ -382,9 +382,11 @@ def unset_selected_data(self, data_workspaces):
for data in data_workspaces:
workspace = getattr(self, data)
if workspace:
old_item = self.findItems(workspace, Qt.MatchExactly)[0]
self._set_q_icon(old_item)
old_item.setSelected(False)
# if item still exists in the list
if self.findItems(workspace, Qt.MatchExactly):
old_item = self.findItems(workspace, Qt.MatchExactly)[0]
self._set_q_icon(old_item)
old_item.setSelected(False)
setattr(self, data, None)

def unset_selected_states_with_name(self, name):
Expand Down
129 changes: 129 additions & 0 deletions tests/views/test_mde_workspaces.py
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,135 @@ def handle_dialog():
assert rename[0] == ("mde1", "new_ws_name")


def test_mde_workspaces_menu_nsf(qtbot):
"""Test the mde and norm lists"""
mde_table = MDEList()
qtbot.addWidget(mde_table)
mde_table.show()

mde_table.add_ws("mde1", "mde", "QSample", 0)
mde_table.add_ws("mde2", "mde", "QSample", 0)
mde_table.add_ws("mde3", "mde", "QSample", 0)

assert mde_table.count() == 3
assert mde_table.data is None
assert mde_table.background is None

qtbot.wait(100)

assert len(mde_table.selectedItems()) == 0

# This is to handle the menu
def handle_menu(action_number):
menu = mde_table.findChild(QMenu)
qtbot.keyClick(menu, Qt.Key_Down)
qtbot.keyClick(menu, Qt.Key_Enter)
# set as data has a submenu
sub_menu = menu.findChild(QMenu)
for _ in range(action_number):
qtbot.keyClick(sub_menu, Qt.Key_Down)
qtbot.keyClick(sub_menu, Qt.Key_Enter)

# right-click first item and select "Set as NSF data"
item = mde_table.item(0)
assert item.text() == "mde1"

QTimer.singleShot(100, partial(handle_menu, 1))
qtbot.mouseClick(mde_table.viewport(), Qt.MouseButton.LeftButton, pos=mde_table.visualItemRect(item).center())

qtbot.wait(7000)
assert mde_table.count() == 3
assert mde_table.data_nsf == "mde1"
assert mde_table.data_u is None
assert mde_table.data_sf is None
assert mde_table.background is None
assert len(mde_table.selectedItems()) == 1
assert mde_table.selectedItems()[0].text() == "mde1"

# right-click second item and select "Set as unpolarized data"
item = mde_table.item(1)
assert item.text() == "mde2"

QTimer.singleShot(100, partial(handle_menu, 0))
qtbot.mouseClick(mde_table.viewport(), Qt.MouseButton.LeftButton, pos=mde_table.visualItemRect(item).center())

qtbot.wait(100)
assert mde_table.count() == 3
assert mde_table.data_u == "mde2"
assert mde_table.data_nsf is None
assert mde_table.background is None
assert len(mde_table.selectedItems()) == 1
assert mde_table.selectedItems()[0].text() == "mde2"


def test_mde_workspaces_menu_pol(qtbot):
"""Test the mde and norm lists"""
mde_table = MDEList()
qtbot.addWidget(mde_table)
mde_table.show()

mde_table.add_ws("mde1", "mde", "QSample", 0)
mde_table.add_ws("mde2", "mde", "QSample", 0)
mde_table.add_ws("mde3", "mde", "QSample", 0)

assert mde_table.count() == 3
assert mde_table.data is None
assert mde_table.background is None

qtbot.wait(100)

assert len(mde_table.selectedItems()) == 0

# This is to handle the menu
def handle_menu(action_number):
menu = mde_table.findChild(QMenu)
qtbot.keyClick(menu, Qt.Key_Down)
qtbot.keyClick(menu, Qt.Key_Enter)
# set as data has a submenu
sub_menu = menu.findChild(QMenu)
for _ in range(action_number):
qtbot.keyClick(sub_menu, Qt.Key_Down)
qtbot.keyClick(sub_menu, Qt.Key_Enter)

# right-click first item and select "Set as NSF data"
item = mde_table.item(0)
assert item.text() == "mde1"

QTimer.singleShot(100, partial(handle_menu, 1))
qtbot.mouseClick(mde_table.viewport(), Qt.MouseButton.LeftButton, pos=mde_table.visualItemRect(item).center())

qtbot.wait(100)
assert mde_table.count() == 3
assert mde_table.data_nsf == "mde1"
assert mde_table.data_u is None
assert mde_table.data_sf is None
assert mde_table.background is None
assert len(mde_table.selectedItems()) == 1
assert mde_table.selectedItems()[0].text() == "mde1"

# right-click second item and select "Set as SF data"
item = mde_table.item(1)
assert item.text() == "mde2"

QTimer.singleShot(100, partial(handle_menu, 2))
qtbot.mouseClick(mde_table.viewport(), Qt.MouseButton.LeftButton, pos=mde_table.visualItemRect(item).center())

qtbot.wait(100)
assert mde_table.count() == 3
assert mde_table.data_u is None
assert mde_table.data_sf == "mde2"
assert mde_table.data_nsf == "mde1"
# test that proteced data are the same as the properties
assert mde_table._data_nsf == mde_table.data_nsf # pylint: disable=W0212
assert mde_table._data_sf == mde_table.data_sf # pylint: disable=W0212
assert mde_table._data_u == mde_table.data_u # pylint: disable=W0212

assert mde_table.background is None
assert len(mde_table.selectedItems()) == 2
assert mde_table.selectedItems()[0].text() == "mde1"
assert mde_table.selectedItems()[1].text() == "mde2"


def test_mde_workspaces_icon(qtbot):
"""test the changing of icons for q_sample, q_lab, data and background"""

Expand Down

0 comments on commit e049fb0

Please sign in to comment.