From 64fdf6c6799724c7ac90acbcfdca6b0fa4f7db5c Mon Sep 17 00:00:00 2001 From: Oscar Gustafsson <oscar.gustafsson@gmail.com> Date: Wed, 25 Jan 2023 13:55:57 +0100 Subject: [PATCH] Even more test coverage --- test/test_gui.py | 52 +++++++++++++++++++++++++++++++++++++- test/test_gui/twotapfir.py | 2 +- 2 files changed, 52 insertions(+), 2 deletions(-) diff --git a/test/test_gui.py b/test/test_gui.py index 8f7f3989..f0b582d3 100644 --- a/test/test_gui.py +++ b/test/test_gui.py @@ -1,3 +1,6 @@ +from qtpy import QtCore + + import pytest try: @@ -35,7 +38,6 @@ def test_flip(qtbot, datadir): assert not dragbutton.is_flipped() dragbutton._flip() assert dragbutton.is_flipped() - widget.exit_app() @@ -52,3 +54,51 @@ def test_sfg_invalidated_by_remove_of_operation(qtbot, datadir): assert ops_before_remove -1 == len(widget.operationDragDict) widget.exit_app() + + +def test_select_operation(qtbot, datadir): + widget = GUI.MainWindow() + qtbot.addWidget(widget) + widget._load_from_file(datadir.join('twotapfir.py')) + sfg = widget.sfg_dict['twotapfir'] + op = sfg.find_by_name("cmul2")[0] + dragbutton = widget.operationDragDict[op] + assert not dragbutton.pressed + assert not widget.pressed_operations + + # Click + qtbot.mouseClick(dragbutton, QtCore.Qt.MouseButton.LeftButton) + assert dragbutton.pressed + assert len(widget.pressed_operations) == 1 + + # Click again, should unselect + qtbot.mouseClick(dragbutton, QtCore.Qt.MouseButton.LeftButton) + # Currently failing + # assert not dragbutton.pressed + # assert not widget.pressed_operations + + # Select another operation + op2 = sfg.find_by_name("add1")[0] + dragbutton2 = widget.operationDragDict[op2] + assert not dragbutton2.pressed + + # Click + qtbot.mouseClick(dragbutton2, QtCore.Qt.MouseButton.LeftButton) + assert dragbutton2.pressed + # Unselect previous + assert not dragbutton.pressed + assert len(widget.pressed_operations) == 1 + + # Control-click first + qtbot.mouseClick(dragbutton, QtCore.Qt.MouseButton.LeftButton, QtCore.Qt.KeyboardModifier.ControlModifier) + assert dragbutton2.pressed + assert dragbutton.pressed + assert len(widget.pressed_operations) == 2 + + # Control-click second + qtbot.mouseClick(dragbutton2, QtCore.Qt.MouseButton.LeftButton, QtCore.Qt.KeyboardModifier.ControlModifier) + assert not dragbutton2.pressed + assert dragbutton.pressed + assert len(widget.pressed_operations) == 1 + + widget.exit_app() diff --git a/test/test_gui/twotapfir.py b/test/test_gui/twotapfir.py index 97d76c32..15660359 100644 --- a/test/test_gui/twotapfir.py +++ b/test/test_gui/twotapfir.py @@ -14,7 +14,7 @@ out1 = Output(name="") # Operations: t1 = Delay(initial_value=0, name="") cmul1 = ConstantMultiplication(value=0.5, name="cmul2", latency_offsets={'in0': None, 'out0': None}) -add1 = Addition(name="", latency_offsets={'in0': None, 'in1': None, 'out0': None}) +add1 = Addition(name="add1", latency_offsets={'in0': None, 'in1': None, 'out0': None}) cmul2 = ConstantMultiplication(value=0.5, name="cmul", latency_offsets={'in0': None, 'out0': None}) # Signals: -- GitLab