def METHOD_NAME(qtbot, sample_plot):
    """ Verify toggling log mode on and off for the entire plot works as expected """
    data_item = PlotDataItem()
    sample_plot.addItem(data_item)
    # For a brand new plot, log mode defaults to false for everything. Verify this is the case.
    assert data_item.opts['logMode'] == [False, False]
    for axis in sample_plot.getAxes():
        assert not axis.logMode
    # Now set log mode on for y-values only. Verify this gets set correctly, and x-values are left alone.
    sample_plot.setLogMode(False, True)
    assert data_item.opts['logMode'] == [False, True]
    for axis in sample_plot.getAxes():
        if axis.orientation in ('bottom', 'top'):
            assert not axis.logMode
        elif axis.orientation in ('left', 'right'):
            assert axis.logMode
        else:
            raise ValueError(f'Invalid value for axis orientation: {axis.orientation}')
    # Now set log mode on for x-values only. Verify this gets set correctly, and y-values are left alone.
    sample_plot.setLogMode(True, False)
    assert data_item.opts['logMode'] == [True, False]
    for axis in sample_plot.getAxes():
        if axis.orientation in ('bottom', 'top'):
            assert axis.logMode
        elif axis.orientation in ('left', 'right'):
            assert not axis.logMode
        else:
            raise ValueError(f'Invalid value for axis orientation: {axis.orientation}')
    # Now set log mode on for everything. Verify this is set across all items.
    sample_plot.setLogMode(True, True)
    assert data_item.opts['logMode'] == [True, True]
    for axis in sample_plot.getAxes():
        assert axis.logMode
    # And finally return everything back to non-log mode. Verify all items are no longer in log mode for x or y.
    sample_plot.setLogMode(False, False)
    assert data_item.opts['logMode'] == [False, False]
    for axis in sample_plot.getAxes():
        assert not axis.logMode