.. _program_listing_file_Testing_Python_MockPipeline.py: Program Listing for File MockPipeline.py ======================================== |exhale_lsh| :ref:`Return to documentation for file ` (``Testing/Python/MockPipeline.py``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: py import sys from typing import Any from unittest.mock import MagicMock from LayerDMLib import vtkMRMLLayerDMScriptedPipeline from slicer import ( vtkMRMLAbstractViewNode, vtkMRMLInteractionEventData, vtkMRMLLayerDMPipelineManager, vtkMRMLNode, vtkMRMLScene, ) from vtk import vtkCamera, vtkRenderer, vtkObject class MockPipeline(vtkMRMLLayerDMScriptedPipeline): """ Mock scripted layer displayable manager pipeline. Provides mocks for all overridden methods and default behavior following the base scripted pipeline. """ def __init__( self, renderOrder=0, widgetState=0, canProcess=False, processDistance=sys.float_info.max, didProcess=False, mouseCursor=0, ): super().__init__() self.mockCanProcess = MagicMock(return_value=(canProcess, processDistance)) self.mockGetCustomCamera = MagicMock(return_value=None) self.mockGetMouse = MagicMock(return_value=mouseCursor) self.mockGetRenderOrder = MagicMock(return_value=renderOrder) self.mockGetWidgetState = MagicMock(return_value=widgetState) self.mockLoseFocus = MagicMock() self.mockOnDefaultCameraModified = MagicMock() self.mockOnReferenceToDisplayNodeAdded = MagicMock() self.mockOnReferenceToDisplayNodeRemoved = MagicMock() self.mockOnRendererAdded = MagicMock() self.mockOnRendererRemoved = MagicMock() self.mockOnUpdate = MagicMock() self.mockProcess = MagicMock(return_value=didProcess) self.mockSetDisplayNode = MagicMock() self.mockSetViewNode = MagicMock() self.mockSetScene = MagicMock() self.mockSetPipelineManager = MagicMock() self.mockUpdatePipeline = MagicMock() def CanProcessInteractionEvent(self, eventData: vtkMRMLInteractionEventData) -> tuple[bool, float]: return self.mockCanProcess(eventData) def GetCustomCamera(self) -> vtkCamera | None: return self.mockGetCustomCamera() def GetMouseCursor(self) -> int: return self.mockGetMouse() def GetRenderOrder(self) -> int: return self.mockGetRenderOrder() def GetWidgetState(self) -> int: return self.mockGetWidgetState() def LoseFocus(self, eventData: vtkMRMLInteractionEventData) -> None: self.mockLoseFocus(eventData) def OnDefaultCameraModified(self, camera: vtkCamera) -> None: self.mockOnDefaultCameraModified(camera) def OnReferenceToDisplayNodeAdded(self, fromNode: vtkMRMLNode | None, role: str) -> None: self.mockOnReferenceToDisplayNodeAdded(fromNode, role) def OnReferenceToDisplayNodeRemoved(self, fromNode: vtkMRMLNode | None, role: str) -> None: self.mockOnReferenceToDisplayNodeRemoved(fromNode, role) def OnRendererAdded(self, renderer: vtkRenderer) -> None: self.mockOnRendererAdded(renderer) def OnRendererRemoved(self, renderer: vtkRenderer) -> None: self.mockOnRendererRemoved(renderer) def OnUpdate(self, obj: vtkObject, eventId: int, callData: Any) -> None: self.mockOnUpdate(obj, eventId, callData) def ProcessInteractionEvent(self, eventData: vtkMRMLInteractionEventData) -> bool: return self.mockProcess(eventData) def SetDisplayNode(self, displayNode: vtkMRMLNode) -> None: self.mockSetDisplayNode(displayNode) super().SetDisplayNode(displayNode) def SetViewNode(self, viewNode: vtkMRMLAbstractViewNode) -> None: self.mockSetViewNode(viewNode) super().SetViewNode(viewNode) def SetScene(self, scene: vtkMRMLScene) -> None: self.mockSetScene(scene) super().SetScene(scene) def SetPipelineManager(self, pipelineManager: vtkMRMLLayerDMPipelineManager) -> None: self.mockSetPipelineManager(pipelineManager) super().SetPipelineManager(pipelineManager) def UpdatePipeline(self) -> None: self.mockUpdatePipeline()