def test_contour(input_data, expected_data_view): """Test changing contour.""" layer = Labels(input_data) assert layer.contour == 0 np.testing.assert_array_equal(layer.data, input_data) np.testing.assert_array_equal( layer._raw_to_displayed(input_data), layer._data_view ) data_view_before_contour = layer._data_view.copy() layer.contour = 1 assert layer.contour == 1 # Check `layer.data` didn't change np.testing.assert_array_equal(layer.data, input_data) # Check what is returned in the view of the data np.testing.assert_array_equal( layer._data_view, np.where( expected_data_view > 0, low_discrepancy_image(expected_data_view), 0, ), ) # Check the view of the data changed after setting the contour with np.testing.assert_raises(AssertionError): np.testing.assert_array_equal( data_view_before_contour, layer._data_view ) layer.contour = 0 assert layer.contour == 0 # Check it's in the same state as before setting the contour np.testing.assert_array_equal( layer._raw_to_displayed(input_data), layer._data_view )