def METHOD_NAME(self):
    # test setters and getters
    system = self.system
    partcls = system.part.add(pos=4 * [(0, 0, 0)], type=[0, 1, 0, 1])
    pids1 = partcls.id[0::2]
    pids2 = partcls.id[1::2]
    params = {
        'ids1': pids1,
        'ids2': pids2,
        'min_r': 1,
        'max_r': 2,
        'n_r_bins': 3}
    observable = espressomd.observables.RDF(**params)
    # check pids
    np.testing.assert_array_equal(np.copy(observable.ids1), pids1)
    np.testing.assert_array_equal(np.copy(observable.ids2), pids2)
    new_pids1 = [partcls.id[0]]
    new_pids2 = [partcls.id[1]]
    observable = espressomd.observables.RDF(
        **{**params, 'ids1': new_pids1, 'ids2': new_pids2})
    np.testing.assert_array_equal(np.copy(observable.ids1), new_pids1)
    np.testing.assert_array_equal(np.copy(observable.ids2), new_pids2)
    # check bins
    self.assertEqual(observable.n_r_bins, 3)
    observable = espressomd.observables.RDF(**{**params, 'n_r_bins': 2})
    self.assertEqual(observable.n_r_bins, 2)
    obs_data = observable.calculate()
    np.testing.assert_array_equal(obs_data.shape, [2])
    # check edges lower corner
    self.assertEqual(observable.min_r, 1)
    # check edges upper corner
    self.assertEqual(observable.max_r, 2)
    # check bin centers
    obs_bin_centers = observable.bin_centers()
    np.testing.assert_array_almost_equal(obs_bin_centers, [1.25, 1.75])
    # check exceptions
    with self.assertRaises(RuntimeError):
        espressomd.observables.RDF(**{**params, 'min_r': 100.})
    with self.assertRaises(ValueError):
        espressomd.observables.RDF(**{**params, 'n_r_bins': 0})