0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-14 11:41:49 +02:00

refactor: various minor improvements for the alignment gui

This commit is contained in:
2024-09-20 22:34:38 +02:00
parent 0f9953e8fd
commit f554f3c167
16 changed files with 797 additions and 565 deletions

View File

@ -168,6 +168,7 @@ def test_remove_dap_data(lmfit_dialog):
def test_update_summary_tree(lmfit_dialog, lmfit_message):
"""Test display_fit_details method"""
lmfit_dialog.active_action_list = ["center", "amplitude"]
lmfit_dialog.update_summary_tree(data=lmfit_message, metadata={"curve_id": "test_curve_id"})
# Check if the data is updated
assert lmfit_dialog.summary_data == {"test_curve_id": lmfit_message}

View File

@ -1,5 +1,6 @@
import pyqtgraph as pg
import pytest
from qtpy.QtCore import QPointF
from bec_widgets.widgets.waveform.waveform_widget import BECWaveformWidget
@ -21,7 +22,7 @@ def plot_widget_with_tick_item(qtbot, mocked_client):
qtbot.addWidget(widget)
qtbot.waitExposed(widget)
yield widget.waveform.motor_pos_tick, widget.waveform.plot_item
yield widget.waveform.tick_item, widget.waveform.plot_item
def test_arrow_item_add_to_plot(plot_widget_with_arrow_item):
@ -33,15 +34,6 @@ def test_arrow_item_add_to_plot(plot_widget_with_arrow_item):
assert arrow_item.plot_item.items == [arrow_item.arrow_item]
def test_arrow_item_remove_to_plot(plot_widget_with_arrow_item):
"""Test the remove_from_plot method"""
arrow_item, plot_item = plot_widget_with_arrow_item
arrow_item.add_to_plot()
assert arrow_item.plot_item.items == [arrow_item.arrow_item]
arrow_item.remove_from_plot()
assert arrow_item.plot_item.items == []
def test_arrow_item_set_position(plot_widget_with_arrow_item):
"""Test the set_position method"""
arrow_item, plot_item = plot_widget_with_arrow_item
@ -53,28 +45,37 @@ def test_arrow_item_set_position(plot_widget_with_arrow_item):
arrow_item.add_to_plot()
arrow_item.position_changed.connect(signal_callback)
arrow_item.set_position(pos=(1, 1))
assert arrow_item.arrow_item.pos().toTuple() == (1, 1)
point = QPointF(1.0, 1.0)
assert arrow_item.arrow_item.pos() == point
arrow_item.set_position(pos=(2, 2))
assert arrow_item.arrow_item.pos().toTuple() == (2, 2)
point = QPointF(2.0, 2.0)
assert arrow_item.arrow_item.pos() == point
assert container == [(1, 1), (2, 2)]
def test_arrow_item_cleanup(plot_widget_with_arrow_item):
"""Test cleanup procedure"""
arrow_item, plot_item = plot_widget_with_arrow_item
arrow_item.add_to_plot()
assert arrow_item.item_on_plot is True
arrow_item.cleanup()
assert arrow_item.plot_item.items == []
assert arrow_item.item_on_plot is False
assert arrow_item.arrow_item is None
def test_tick_item_add_to_plot(plot_widget_with_tick_item):
"""Test the add_to_plot method"""
tick_item, plot_item = plot_widget_with_tick_item
assert tick_item.plot_item is not None
assert tick_item.plot_item.items == []
tick_item.add_to_plot()
assert tick_item.plot_item.layout.itemAt(4, 1) == tick_item.tick_item
def test_tick_item_remove_to_plot(plot_widget_with_tick_item):
"""Test the remove_from_plot method"""
tick_item, plot_item = plot_widget_with_tick_item
tick_item.add_to_plot()
assert tick_item.plot_item.layout.itemAt(4, 1) == tick_item.tick_item
tick_item.remove_from_plot()
assert tick_item.plot_item.layout.itemAt(4, 1) is None
assert tick_item.plot_item.layout.itemAt(2, 1) == tick_item.tick_item
assert tick_item.item_on_plot is True
new_pos = plot_item.vb.geometry().bottom()
pos = tick_item.tick.pos()
new_pos = tick_item.tick_item.mapFromParent(QPointF(pos.x(), new_pos))
assert new_pos.y() == pos.y()
def test_tick_item_set_position(plot_widget_with_tick_item):
@ -93,3 +94,15 @@ def test_tick_item_set_position(plot_widget_with_tick_item):
tick_item.set_position(pos=2)
assert tick_item._pos == 2
assert container == [1.0, 2.0]
def test_tick_item_cleanup(plot_widget_with_tick_item):
"""Test cleanup procedure"""
tick_item, plot_item = plot_widget_with_tick_item
tick_item.add_to_plot()
assert tick_item.item_on_plot is True
tick_item.cleanup()
ticks = getattr(tick_item.plot_item.layout.itemAt(3, 1), "ticks", None)
assert ticks == None
assert tick_item.item_on_plot is False
assert tick_item.tick_item is None