void FrameTimeGraph_MoveSelectedRange(MoveTestConfiguration configuration, List <int> expectedSelection)
    {
        var  offset                = configuration.offset;
        int  clickCount            = 1;
        bool singleClickAction     = true;
        var  currentSelectionState = SelectedRangeStateFromTestConfiguration(configuration);

        m_FrameTimeGraph.MoveSelectedRange(offset, clickCount, singleClickAction, FrameTimeGraph.State.None, currentSelectionState);

        CollectionAssert.AreEqual(expectedSelection, m_ReportedSelection);
    }
    List <int> ExpectedSelectedFramesForMoveTestConfiguration(MoveTestConfiguration configuration)
    {
        List <int> selectedFrames = new List <int>();
        var        offset         = configuration.offset;

        foreach (var selectionRange in configuration.selections)
        {
            var selectionFrames = GenerateListOfFrames(selectionRange.origin + offset, selectionRange.length);
            selectedFrames.AddRange(selectionFrames);
        }

        return(selectedFrames);
    }
    public void FrameTimeGraph_MoveSelectedRange_DoesNotMovePastGraphBounds([ValueSource("k_MoveClampToBoundsTestConfigurations")] MoveTestConfiguration configuration)
    {
        List <int> expectedSelection = InitialSelectedFramesForTestConfiguration(configuration);

        FrameTimeGraph_MoveSelectedRange(configuration, expectedSelection);
    }
    public void FrameTimeGraph_MoveSelectedRange([ValueSource("k_MoveTestConfigurations")] MoveTestConfiguration configuration)
    {
        List <int> expectedSelection = ExpectedSelectedFramesForMoveTestConfiguration(configuration);

        FrameTimeGraph_MoveSelectedRange(configuration, expectedSelection);
    }