def METHOD_NAME(self):
    with patch.object(MockTrajectory, "estimate") as mock_estimate:
        mock_estimate.return_value = MockTrajectory()
        test = StrideLevelTrajectory(ori_method=None, pos_method=None, trajectory_method=MockTrajectory())
        test.estimate(
            pd.DataFrame(np.array([[0, 0, 9.81, 0, 0, 0]] * 10), columns=SF_COLS),
            stride_event_list=pd.DataFrame(
                {"start": [0, 5], "end": [5, 12], "min_vel": [0, 5]}, index=pd.Series([2, 3], name="s_id")
            ),
            sampling_rate_hz=1,
        )
        # Mock should be called twice, once for each stride
        assert mock_estimate.call_count == 2
        # First call should be for the first stride
        assert_frame_equal(
            mock_estimate.call_args_list[0].kwargs["stride_event_list"],
            pd.DataFrame({"start": [0], "end": [5], "min_vel": [0]}, index=pd.Series([2], name="s_id")),
        )
        # Second call should be for the second stride
        # However, we normalize each stride (i.e. start at 0)
        assert_frame_equal(
            mock_estimate.call_args_list[1].kwargs["stride_event_list"],
            pd.DataFrame({"start": [0], "end": [7], "min_vel": [0]}, index=pd.Series([3], name="s_id")),
        )