async def METHOD_NAME(
    mock_serial_port: AsyncMock, subject: SerialKind, ack: str
) -> None:
    """It should retry sending after a read failure."""
    serial_response = "response data " + ack
    mock_serial_port.read_until.side_effect = (b"", serial_response.encode())
    await subject.send_data(data="send data", retries=1)
    mock_serial_port.timeout_override.assert_called_once_with("timeout", None)
    mock_serial_port.write.assert_has_calls(
        calls=[call(data=b"send data"), call(data=b"send data")]
    )
    mock_serial_port.read_until.assert_has_calls(
        calls=[
            call(match=ack.encode()),
            call(match=ack.encode()),
        ]
    )