mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-13 19:21:50 +02:00
refactor(image): move image item creation to layer manager
This commit is contained in:
@ -10,7 +10,7 @@ from bec_widgets.widgets.plots.image.image_item import ImageItem
|
||||
@pytest.fixture()
|
||||
def image_layer_manager():
|
||||
"""Fixture to create an instance of ImageLayer."""
|
||||
layer = ImageLayerManager(plot_item=mock.MagicMock(spec=pg.PlotItem))
|
||||
layer = ImageLayerManager(parent=None, plot_item=mock.MagicMock(spec=pg.PlotItem))
|
||||
yield layer
|
||||
layer.clear()
|
||||
|
||||
@ -23,27 +23,22 @@ def test_image_layer_manager_initialization(image_layer_manager):
|
||||
|
||||
def test_add_image_layer(image_layer_manager):
|
||||
"""Test adding an image layer to the ImageLayerManager."""
|
||||
image = ImageItem()
|
||||
layer = image_layer_manager.add(name="Test Layer", image=image)
|
||||
layer = image_layer_manager.add(name="Test Layer")
|
||||
assert layer.image.zValue() == 0
|
||||
|
||||
image2 = ImageItem()
|
||||
layer2 = image_layer_manager.add(name="Test Layer 2", image=image2)
|
||||
layer2 = image_layer_manager.add(name="Test Layer 2")
|
||||
assert layer2.image.zValue() == 1
|
||||
|
||||
image3 = ImageItem()
|
||||
layer3 = image_layer_manager.add(name="Test Layer 3", image=image3, z_position="top")
|
||||
layer3 = image_layer_manager.add(name="Test Layer 3", z_position="top")
|
||||
assert layer3.image.zValue() == 2
|
||||
|
||||
image4 = ImageItem()
|
||||
layer4 = image_layer_manager.add(name="Test Layer 4", image=image4, z_position="bottom")
|
||||
layer4 = image_layer_manager.add(name="Test Layer 4", z_position="bottom")
|
||||
assert layer4.image.zValue() == -1
|
||||
|
||||
|
||||
def test_remove_image_layer(image_layer_manager):
|
||||
"""Test removing an image layer from the ImageLayerManager."""
|
||||
image = ImageItem()
|
||||
layer = image_layer_manager.add(name="Test Layer", image=image)
|
||||
layer = image_layer_manager.add(name="Test Layer")
|
||||
assert len(image_layer_manager) == 1
|
||||
|
||||
image_layer_manager.remove(layer)
|
||||
@ -52,8 +47,7 @@ def test_remove_image_layer(image_layer_manager):
|
||||
|
||||
def test_clear_image_layers(image_layer_manager):
|
||||
"""Test clearing all image layers from the ImageLayerManager."""
|
||||
image = ImageItem()
|
||||
layer = image_layer_manager.add(name="Test Layer", image=image)
|
||||
layer = image_layer_manager.add(name="Test Layer")
|
||||
assert len(image_layer_manager) == 1
|
||||
|
||||
image_layer_manager.clear()
|
||||
@ -62,8 +56,7 @@ def test_clear_image_layers(image_layer_manager):
|
||||
|
||||
def test_image_layer_manager_getitem(image_layer_manager):
|
||||
"""Test getting an image layer by index."""
|
||||
image = ImageItem()
|
||||
layer = image_layer_manager.add(name="Test Layer", image=image)
|
||||
layer = image_layer_manager.add(name="Test Layer")
|
||||
assert image_layer_manager["Test Layer"] == layer
|
||||
|
||||
with pytest.raises(TypeError):
|
||||
@ -75,10 +68,8 @@ def test_image_layer_manager_getitem(image_layer_manager):
|
||||
|
||||
def test_image_layer_iteration(image_layer_manager):
|
||||
"""Test iterating over image layers."""
|
||||
image = ImageItem()
|
||||
layer = image_layer_manager.add(name="Test Layer", image=image)
|
||||
layer = image_layer_manager.add(name="Test Layer")
|
||||
assert list(image_layer_manager) == [layer]
|
||||
|
||||
image2 = ImageItem()
|
||||
layer2 = image_layer_manager.add(name="Test Layer 2", image=image2)
|
||||
layer2 = image_layer_manager.add(name="Test Layer 2")
|
||||
assert list(image_layer_manager) == [layer, layer2]
|
||||
|
@ -117,8 +117,8 @@ def test_image_setup_image_2d(qtbot, mocked_client):
|
||||
bec_image_view = create_widget(qtbot, Image, client=mocked_client)
|
||||
bec_image_view.image(monitor="eiger", monitor_type="2d")
|
||||
assert bec_image_view.monitor == "eiger"
|
||||
assert bec_image_view.main_image.config.source == "device_monitor_2d"
|
||||
assert bec_image_view.main_image.config.monitor_type == "2d"
|
||||
assert bec_image_view.subscriptions["main"].source == "device_monitor_2d"
|
||||
assert bec_image_view.subscriptions["main"].monitor_type == "2d"
|
||||
assert bec_image_view.main_image.raw_data is None
|
||||
assert bec_image_view.main_image.image is None
|
||||
|
||||
@ -127,8 +127,8 @@ def test_image_setup_image_1d(qtbot, mocked_client):
|
||||
bec_image_view = create_widget(qtbot, Image, client=mocked_client)
|
||||
bec_image_view.image(monitor="eiger", monitor_type="1d")
|
||||
assert bec_image_view.monitor == "eiger"
|
||||
assert bec_image_view.main_image.config.source == "device_monitor_1d"
|
||||
assert bec_image_view.main_image.config.monitor_type == "1d"
|
||||
assert bec_image_view.subscriptions["main"].source == "device_monitor_1d"
|
||||
assert bec_image_view.subscriptions["main"].monitor_type == "1d"
|
||||
assert bec_image_view.main_image.raw_data is None
|
||||
assert bec_image_view.main_image.image is None
|
||||
|
||||
@ -137,8 +137,8 @@ def test_image_setup_image_auto(qtbot, mocked_client):
|
||||
bec_image_view = create_widget(qtbot, Image, client=mocked_client)
|
||||
bec_image_view.image(monitor="eiger", monitor_type="auto")
|
||||
assert bec_image_view.monitor == "eiger"
|
||||
assert bec_image_view.main_image.config.source == "auto"
|
||||
assert bec_image_view.main_image.config.monitor_type == "auto"
|
||||
assert bec_image_view.subscriptions["main"].source == "auto"
|
||||
assert bec_image_view.subscriptions["main"].monitor_type == "auto"
|
||||
assert bec_image_view.main_image.raw_data is None
|
||||
assert bec_image_view.main_image.image is None
|
||||
|
||||
@ -235,8 +235,8 @@ def test_setup_image_from_toolbar(qtbot, mocked_client):
|
||||
bec_image_view.selection_bundle.dim_combo_box.setCurrentText("2d")
|
||||
|
||||
assert bec_image_view.monitor == "eiger"
|
||||
assert bec_image_view.main_image.config.source == "device_monitor_2d"
|
||||
assert bec_image_view.main_image.config.monitor_type == "2d"
|
||||
assert bec_image_view.subscriptions["main"].source == "device_monitor_2d"
|
||||
assert bec_image_view.subscriptions["main"].monitor_type == "2d"
|
||||
assert bec_image_view.main_image.raw_data is None
|
||||
assert bec_image_view.main_image.image is None
|
||||
|
||||
|
Reference in New Issue
Block a user