void FrameTimeGraph_ResizeSelectedRange(ResizeTestConfiguration configuration, List <int> expectedSelection)
    {
        var  leftOffset            = configuration.leftOffset;
        var  rightOffset           = configuration.rightOffset;
        int  clickCount            = 1;
        bool singleClickAction     = true;
        var  currentSelectionState = SelectedRangeStateFromTestConfiguration(configuration);

        m_FrameTimeGraph.ResizeSelectedRange(leftOffset, rightOffset, clickCount, singleClickAction, FrameTimeGraph.State.None, currentSelectionState);

        CollectionAssert.AreEqual(expectedSelection, m_ReportedSelection);
    }
    List <int> ExpectedSelectedFramesForResizeTestConfiguration(ResizeTestConfiguration configuration)
    {
        List <int> selectedFrames = new List <int>();
        var        leftOffset     = configuration.leftOffset;
        var        rightOffset    = configuration.rightOffset;

        foreach (var selectionRange in configuration.selections)
        {
            var leftIndex       = selectionRange.origin + leftOffset;
            var rightIndex      = selectionRange.LastIndex + rightOffset;
            var selectionLength = rightIndex - leftIndex + 1;
            var selectionFrames = GenerateListOfFrames(selectionRange.origin + leftOffset, selectionLength);
            selectedFrames.AddRange(selectionFrames);
        }

        return(selectedFrames);
    }
    public void FrameTimeGraph_ResizeSelectedRange_DoesNotMovePastGraphBounds([ValueSource("k_ResizeClampToBoundsTestConfigurations")] ResizeTestConfiguration configuration)
    {
        List <int> expectedSelection = InitialSelectedFramesForTestConfiguration(configuration);

        FrameTimeGraph_ResizeSelectedRange(configuration, expectedSelection);
    }
    public void FrameTimeGraph_ResizeSelectedRange([ValueSource("k_ResizeTestConfigurations")] ResizeTestConfiguration configuration)
    {
        List <int> expectedSelection = ExpectedSelectedFramesForResizeTestConfiguration(configuration);

        FrameTimeGraph_ResizeSelectedRange(configuration, expectedSelection);
    }