3
3
import pytest
4
4
5
5
from napari_matplotlib import HistogramWidget
6
+ from napari_matplotlib .tests .helpers import (
7
+ assert_figures_equal ,
8
+ assert_figures_not_equal ,
9
+ )
6
10
7
11
8
12
@pytest .mark .mpl_image_compare
@@ -23,3 +27,26 @@ def test_histogram_3D(make_napari_viewer, brain_data):
23
27
# Need to return a copy, as original figure is too eagerley garbage
24
28
# collected by the widget
25
29
return deepcopy (fig )
30
+
31
+
32
+ def test_change_layer (make_napari_viewer , brain_data , astronaut_data ):
33
+ viewer = make_napari_viewer ()
34
+ widget = HistogramWidget (viewer )
35
+
36
+ viewer .add_image (brain_data [0 ], ** brain_data [1 ])
37
+ viewer .add_image (astronaut_data [0 ], ** astronaut_data [1 ])
38
+
39
+ # Select first layer
40
+ viewer .layers .selection .clear ()
41
+ viewer .layers .selection .add (viewer .layers [0 ])
42
+ fig1 = deepcopy (widget .figure )
43
+
44
+ # Re-selecting first layer should produce identical plot
45
+ viewer .layers .selection .clear ()
46
+ viewer .layers .selection .add (viewer .layers [0 ])
47
+ assert_figures_equal (widget .figure , fig1 )
48
+
49
+ # Plotting the second layer should produce a different plot
50
+ viewer .layers .selection .clear ()
51
+ viewer .layers .selection .add (viewer .layers [1 ])
52
+ assert_figures_not_equal (widget .figure , fig1 )
0 commit comments