def test_allocate(self): orb = Orbit(M0=self.M, G=self.G, m=0.1, **self.kep_orb) assert orb.num == 1 orb.allocate(10) assert orb.num == 10 orb.add(num=5) assert orb.num == 15 orb.allocate(10) assert orb.num == 10 assert np.all(np.isnan(orb.cartesian)) assert np.all(np.isnan(orb.kepler)) nt.assert_array_almost_equal(orb.m, np.zeros_like(orb.m))
def test_delete(self): orb = Orbit(M0=self.M, G=self.G, m=0.1, **self.kep_orb) a0 = self.kep_orb['a'] inds = [2,4,6] orb.add(num=9, **self.kep_orb) a = orb.a a[inds] = a0 + 2 orb.a = a orb.delete(inds) assert orb.num == 10-3 assert np.all(orb.a < a0 + 1)
def test_dtype(self): orb = Orbit(1) assert orb.cartesian.dtype==np.float64 assert orb.dtype==np.float64 orb = Orbit(1, dtype = np.float32) assert orb.cartesian.dtype==np.float32 assert orb.kepler.dtype==np.float32 assert orb.dtype==np.float32 orb.add(num=10) orb.x = 2.0 assert orb.cartesian.dtype==np.float32 assert orb.kepler.dtype==np.float32 assert orb.x.dtype==np.float32 assert orb.dtype==np.float32