async def METHOD_NAME(
    decoy: Decoy,
    mock_state_view: StateView,
    mock_hardware_api: HardwareAPI,
    mock_labware_data_provider: LabwareDataProvider,
    tip_rack_definition: LabwareDefinition,
) -> None:
    """It should use the hardware API to pick up a tip."""
    subject = HardwareTipHandler(
        state_view=mock_state_view,
        hardware_api=mock_hardware_api,
        labware_data_provider=mock_labware_data_provider,
    )
    decoy.when(mock_state_view.labware.get_definition("labware-id")).then_return(
        tip_rack_definition
    )
    decoy.when(mock_state_view.pipettes.get_serial_number("pipette-id")).then_return(
        "pipette-serial"
    )
    decoy.when(mock_state_view.pipettes.get_mount("pipette-id")).then_return(
        MountType.LEFT
    )
    decoy.when(
        mock_state_view.geometry.get_nominal_tip_geometry(
            pipette_id="pipette-id",
            labware_id="labware-id",
            well_name="B2",
        )
    ).then_return(TipGeometry(length=50, diameter=5, volume=300))
    decoy.when(
        await mock_labware_data_provider.get_calibrated_tip_length(
            pipette_serial="pipette-serial",
            labware_definition=tip_rack_definition,
            nominal_fallback=50,
        )
    ).then_return(42)
    result = await subject.pick_up_tip(
        pipette_id="pipette-id",
        labware_id="labware-id",
        well_name="B2",
    )
    assert result == TipGeometry(length=42, diameter=5, volume=300)
    decoy.verify(
        await mock_hardware_api.pick_up_tip(
            mount=Mount.LEFT,
            tip_length=42,
            presses=None,
            increment=None,
        ),
        mock_hardware_api.set_current_tiprack_diameter(
            mount=Mount.LEFT,
            tiprack_diameter=5,
        ),
        mock_hardware_api.set_working_volume(mount=Mount.LEFT, tip_volume=300),
    )