def METHOD_NAME():
    # two atoms
    traj = md.Trajectory(xyz=np.zeros((1, 2, 3)), topology=topology2)
    probe_radius = 0.14
    true = 4 * np.pi * (_ATOMIC_RADII['H'] + probe_radius) ** 2
    # when atoms are closer than 2e-5, there seems to be a bug.
    # note that you should never actually have a case where atoms are this close
    # but nonetheless I'm adding a check for this in the implementation -- to make
    # it crash if the atoms are too close, as opposed to giving you wrong results
    separations = np.linspace(2.0e-5, probe_radius * 2 + _ATOMIC_RADII['H'] * 2, 10)
    areas = np.zeros_like(separations)
    # check the sasa as we vary the separation
    for i, sep in enumerate(separations):
        traj.xyz[0, 0, 1] = sep
        areas[i] = np.sum(md.geometry.shrake_rupley(traj, probe_radius=probe_radius))
    np.testing.assert_approx_equal(areas[0], true, significant=3)
    np.testing.assert_approx_equal(areas[-1], 2 * true)
    # make sure that areas is increasing
    np.testing.assert_array_less(areas[0:8], areas[1:9])