module.submodule
def factory_dt_ws( self, [...]) -> None:
if self.widget_layer_select.prediction.value is None:
log(
"Please run a boundary prediction first!",
thread="Segmentation",
level="WARNING",
)
return
ps_image = PlantSegImage.from_napari_layer(
self.widget_layer_select.prediction.value
)
return schedule_task(
dt_watershed_task,
task_kwargs={
"image": ps_image,
[...]
}
)
module.submodule
def factory_dt_ws( self, [...]) -> None:
if self.widget_layer_select.prediction.value is None:
log(
"Please run a boundary prediction first!",
thread="Segmentation",
level="WARNING",
)
return
ps_image = PlantSegImage.from_napari_layer(
self.widget_layer_select.prediction.value
)
return schedule_task(
dt_watershed_task,
task_kwargs={
"image": ps_image,
[...]
}
)
module.submodule
def factory_dt_ws( self, [...]) -> None:
if self.widget_layer_select.prediction.value is None:
log(
"Please run a boundary prediction first!",
thread="Segmentation",
level="WARNING",
)
return
ps_image = PlantSegImage.from_napari_layer(
self.widget_layer_select.prediction.value
)
return schedule_task(
dt_watershed_task,
task_kwargs={
"image": ps_image,
[...]
}
)
Mock existing objects:
def test_toggle_visibility_1(segmentation_tab, mocker):
mocked_switch = mocker.patch.object(segmentation_tab, "toggle")
toggle
is a function of segmentation_tab
mocker.sentinel
mocker.sentinel.something
does not throw an errorassert_called_with(mocker.sentinel)
Weekly nice to know