def create_acceleration_pc_fixtures(request):
    """ Parameterized Acceleration path constraint.

    Return:
    -------
      data: A tuple. Contains path, ss, alim.
      pc: A `PathConstraint`.
    """
    dof = request.param
    if dof == 1:  # Scalar
        pi = ta.PolynomialPath([1, 2, 3])  # 1 + 2s + 3s^2
        ss = np.linspace(0, 1, 3)
        alim = (np.r_[-1., 1]).reshape(1, 2)  # Scalar case
        accel_const = constraint.JointAccelerationConstraint(alim, constraint.DiscretizationType.Collocation)
        data = (pi, ss, alim)
        return data, accel_const

    if dof == 2:
        coeff = [[1., 2, 3], [-2., -3., 4., 5.]]
        pi = ta.PolynomialPath(coeff)
        ss = np.linspace(0, 0.75, 4)
        alim = np.array([[-1., 2], [-2., 2]])
        accel_const = constraint.JointAccelerationConstraint(alim, constraint.DiscretizationType.Collocation)
        data = (pi, ss, alim)
        return data, accel_const

    if dof == 6:
        np.random.seed(10)
        N = 20
        way_pts = np.random.randn(10, 6)
        pi = ta.SplineInterpolator(np.linspace(0, 1, 10), way_pts)
        ss = np.linspace(0, 1, N + 1)
        vlim_ = np.random.rand(6)
        alim = np.vstack((-vlim_, vlim_)).T
        accel_const = constraint.JointAccelerationConstraint(alim, constraint.DiscretizationType.Collocation)
        data = (pi, ss, alim)
        return data, accel_const

    if dof == '6d':
        np.random.seed(10)
        N = 20
        way_pts = np.random.randn(10, 6)
        pi = ta.SplineInterpolator(np.linspace(0, 1, 10), way_pts)
        ss = np.linspace(0, 1, N + 1)
        alim_s = np.random.rand(6)
        alim = np.vstack((-alim_s, alim_s)).T
        accel_const = constraint.JointAccelerationConstraint(alim_s, constraint.DiscretizationType.Collocation)
        data = (pi, ss, alim)
        return data, accel_const