text: import pytest
  
  
  @pytest.fixture(
      params=(
          lambda molecule: None,
          lambda molecule: range(molecule.get_num_atoms()),
          lambda molecule: range(0, molecule.get_num_atoms(), 2),
          lambda molecule: list(
              range(0, min(1, molecule.get_num_atoms()))
          ),
          lambda molecule: tuple(
              range(0, min(1, molecule.get_num_atoms()))
          ),
          lambda molecule: (
              i for i in range(0, min(1, molecule.get_num_atoms()))
          ),
          pytest.param(
              lambda molecule: (),
              marks=pytest.mark.xfail(strict=True, raises=ValueError),
          ),
          lambda molecule: range(min(molecule.get_num_atoms(), 1)),
      ),
  )
  def get_atom_ids(request):
      """
      Return an atom_ids parameter for a :class:`.Molecule`.
  
      Parameters
      ----------
      molecule : :class:`.Molecule`
          The molecule for which `atom_ids` are returned.
  
      Returns
      -------
      :class:`iterable` of :class:`int`
          An `atom_ids` parameter.
  
      """
  
      return request.param
  
  
  @pytest.fixture
  def centroid(origin):
      return origin
  