def test_setCameraTool(application): controller = Controller(application) camera_tool = Tool() camera_tool.setPluginId("camera_tool") controller.addTool(camera_tool) controller.setCameraTool(camera_tool) assert controller.getCameraTool() == camera_tool controller.setCameraTool("") assert controller.getCameraTool() is None controller.setCameraTool("camera_tool") assert controller.getCameraTool() == camera_tool
def test_toolOperations(application): controller = Controller(application) controller.toolOperationStarted.emit = MagicMock() controller.toolOperationStopped.emit = MagicMock() test_tool_1 = Tool() test_tool_1.setPluginId("test_tool_1") controller.addTool(test_tool_1) # The tool starts an operation test_tool_1.operationStarted.emit(test_tool_1) controller.toolOperationStarted.emit.assert_called_with(test_tool_1) assert controller.isToolOperationActive() # The tool stops doing something test_tool_1.operationStopped.emit(test_tool_1) controller.toolOperationStopped.emit.assert_called_with(test_tool_1) assert not controller.isToolOperationActive()
def test_addTools(application): controller = Controller(application) # Switch out the emits with a mock. controller.toolsChanged.emit = MagicMock() controller.activeToolChanged.emit = MagicMock() test_tool_1 = Tool() test_tool_1.setPluginId("test_tool_1") test_tool_1.event = MagicMock() test_tool_2 = Tool() test_tool_2.setPluginId("test_tool_2") controller.addTool(test_tool_1) assert controller.toolsChanged.emit.call_count == 1 controller.addTool(test_tool_2) assert controller.toolsChanged.emit.call_count == 2 controller.addTool(test_tool_1) assert controller.toolsChanged.emit.call_count == 2 assert len(controller.getAllTools()) == 2 # Set active tool with an unknown name. controller.setActiveTool("nope nope!") assert controller.getActiveTool() is None assert controller.activeToolChanged.emit.call_count == 0 # Set active tool by reference controller.setActiveTool(test_tool_1) assert controller.getActiveTool() == test_tool_1 assert controller.activeToolChanged.emit.call_count == 1 # Check if the tool got notified that it's not active. assert test_tool_1.event.call_args_list[0][0][ 0].type == Event.ToolActivateEvent # Set active tool by ID, but the same as is already active. controller.setActiveTool("test_tool_1") assert controller.getActiveTool() == test_tool_1 assert controller.activeToolChanged.emit.call_count == 1 # Set active tool by ID controller.setActiveTool("test_tool_2") assert controller.getActiveTool() == test_tool_2 assert controller.activeToolChanged.emit.call_count == 2 # Check if the tool got notified that it's no longer active. assert test_tool_1.event.call_args_list[1][0][ 0].type == Event.ToolDeactivateEvent assert controller.getTool("ZOMG") is None assert controller.getTool("test_tool_1") == test_tool_1 assert controller.getTool("test_tool_2") == test_tool_2
def test_tools(): mock_application = MagicMock() Application.getInstance = MagicMock(return_type=mock_application) controller = Controller(mock_application) # Switch out the emits with a mock. controller.toolsChanged.emit = MagicMock() controller.activeToolChanged.emit = MagicMock() controller.toolOperationStarted.emit = MagicMock() controller.toolOperationStopped.emit = MagicMock() test_tool_1 = Tool() test_tool_1.setPluginId("test_tool_1") test_tool_2 = Tool() test_tool_2.setPluginId("test_tool_2") controller.addTool(test_tool_1) assert controller.toolsChanged.emit.call_count == 1 controller.addTool(test_tool_2) assert controller.toolsChanged.emit.call_count == 2 controller.addTool(test_tool_1) assert controller.toolsChanged.emit.call_count == 2 assert len(controller.getAllTools()) == 2 # Set if with an unknown name. controller.setActiveTool("nope nope!") assert controller.getActiveTool() is None assert controller.activeToolChanged.emit.call_count == 0 # Set active tool by reference controller.setActiveTool(test_tool_1) assert controller.getActiveTool() == test_tool_1 assert controller.activeToolChanged.emit.call_count == 1 # Set active tool by ID, but the same as is already active. controller.setActiveTool("test_tool_1") assert controller.getActiveTool() == test_tool_1 assert controller.activeToolChanged.emit.call_count == 1 # Set active tool by ID controller.setActiveTool("test_tool_2") assert controller.getActiveTool() == test_tool_2 assert controller.activeToolChanged.emit.call_count == 2 assert controller.getTool("ZOMG") is None assert controller.getTool("test_tool_1") == test_tool_1 assert controller.getTool("test_tool_2") == test_tool_2
def test_tools(): mock_application = MagicMock() Application.getInstance = MagicMock(return_type = mock_application) controller = Controller(mock_application) # Switch out the emits with a mock. controller.toolsChanged.emit = MagicMock() controller.activeToolChanged.emit = MagicMock() controller.toolOperationStarted.emit = MagicMock() controller.toolOperationStopped.emit = MagicMock() test_tool_1 = Tool() test_tool_1.setPluginId("test_tool_1") test_tool_2 = Tool() test_tool_2.setPluginId("test_tool_2") controller.addTool(test_tool_1) assert controller.toolsChanged.emit.call_count == 1 controller.addTool(test_tool_2) assert controller.toolsChanged.emit.call_count == 2 controller.addTool(test_tool_1) assert controller.toolsChanged.emit.call_count == 2 assert len(controller.getAllTools()) == 2 # Set if with an unknown name. controller.setActiveTool("nope nope!") assert controller.getActiveTool() is None assert controller.activeToolChanged.emit.call_count == 0 # Set active tool by reference controller.setActiveTool(test_tool_1) assert controller.getActiveTool() == test_tool_1 assert controller.activeToolChanged.emit.call_count == 1 # Set active tool by ID, but the same as is already active. controller.setActiveTool("test_tool_1") assert controller.getActiveTool() == test_tool_1 assert controller.activeToolChanged.emit.call_count == 1 # Set active tool by ID controller.setActiveTool("test_tool_2") assert controller.getActiveTool() == test_tool_2 assert controller.activeToolChanged.emit.call_count == 2 assert controller.getTool("ZOMG") is None assert controller.getTool("test_tool_1") == test_tool_1 assert controller.getTool("test_tool_2") == test_tool_2
def test_addTools(application): controller = Controller(application) # Switch out the emits with a mock. controller.toolsChanged.emit = MagicMock() controller.activeToolChanged.emit = MagicMock() test_tool_1 = Tool() test_tool_1.setPluginId("test_tool_1") test_tool_1.event = MagicMock() test_tool_2 = Tool() test_tool_2.setPluginId("test_tool_2") controller.addTool(test_tool_1) assert controller.toolsChanged.emit.call_count == 1 controller.addTool(test_tool_2) assert controller.toolsChanged.emit.call_count == 2 controller.addTool(test_tool_1) assert controller.toolsChanged.emit.call_count == 2 assert len(controller.getAllTools()) == 2 # Set active tool with an unknown name. controller.setActiveTool("nope nope!") assert controller.getActiveTool() is None assert controller.activeToolChanged.emit.call_count == 0 # Set active tool by reference controller.setActiveTool(test_tool_1) assert controller.getActiveTool() == test_tool_1 assert controller.activeToolChanged.emit.call_count == 1 # Check if the tool got notified that it's not active. assert test_tool_1.event.call_args_list[0][0][0].type == Event.ToolActivateEvent # Set active tool by ID, but the same as is already active. controller.setActiveTool("test_tool_1") assert controller.getActiveTool() == test_tool_1 assert controller.activeToolChanged.emit.call_count == 1 # Set active tool by ID controller.setActiveTool("test_tool_2") assert controller.getActiveTool() == test_tool_2 assert controller.activeToolChanged.emit.call_count == 2 # Check if the tool got notified that it's no longer active. assert test_tool_1.event.call_args_list[1][0][0].type == Event.ToolDeactivateEvent assert controller.getTool("ZOMG") is None assert controller.getTool("test_tool_1") == test_tool_1 assert controller.getTool("test_tool_2") == test_tool_2