def METHOD_NAME(coordinates, N):
    def do_test(self):
        eps = 2e-13
        sim = rebound.Simulation()
        sim.ri_whfast.coordinates = coordinates
        sim.integrator = "whfast"
        sim.dt=1e-3
        sim.add(m=1)
        sim.add(m=1e-3,P=0.4)
        for i in range(N):
            sim.add(m=0,P=1,e=0.1,f=i)
        sim2 = sim.copy()
        for i in range(N):
            sim2.particles[i+2].m = 1 # particles have zero mass for sim, but finite for sim2
        sim2.N_active = 2
        sim.integrate(1)
        with warnings.catch_warnings(record=True) as w:
            warnings.simplefilter("always")
            sim2.integrate(1)
            self.assertEqual(1,len(w))
        for i in range(sim.N):
            self.assertLess(abs(sim.particles[i].x-sim2.particles[i].x),eps)
            self.assertLess(abs(sim.particles[i].vx-sim2.particles[i].vx),eps)
            self.assertLess(abs(sim.particles[i].y-sim2.particles[i].y),eps)
            self.assertLess(abs(sim.particles[i].vy-sim2.particles[i].vy),eps)
    return do_test