class TestFiberFlatObject(unittest.TestCase): def setUp(self): self.nspec = 5 self.nwave = 10 self.wave = np.arange(self.nwave) self.fiberflat = np.random.uniform(size=(self.nspec, self.nwave)) self.ivar = np.ones(self.fiberflat.shape) self.mask = np.zeros(self.fiberflat.shape) self.meanspec = np.random.uniform(size=self.nwave) self.ff = FiberFlat(self.wave, self.fiberflat, self.ivar, self.mask, self.meanspec) def test_init(self): for key in ('wave', 'fiberflat', 'ivar', 'mask', 'meanspec'): x = self.ff.__getattribute__(key) y = self.__getattribute__(key) self.assertTrue(np.all(x == y), key) self.assertEqual(self.nspec, self.ff.nspec) self.assertEqual(self.nwave, self.ff.nwave) def test_dimensions(self): #- check dimensionality mismatches self.assertRaises(ValueError, lambda x: FiberFlat(*x), (self.wave, self.wave, self.ivar, self.mask, self.meanspec)) self.assertRaises(ValueError, lambda x: FiberFlat(*x), (self.wave, self.fiberflat, self.ivar, self.mask, self.fiberflat)) self.assertRaises(ValueError, lambda x: FiberFlat(*x), (self.wave, self.fiberflat[0:2], self.ivar, self.mask, self.meanspec)) def test_slice(self): x = self.ff[1] x = self.ff[1:2] x = self.ff[[1,2,3]] x = self.ff[self.ff.fibers<3]
class TestFiberFlatObject(unittest.TestCase): def setUp(self): self.nspec = 5 self.nwave = 10 self.wave = np.arange(self.nwave) self.fiberflat = np.random.uniform(size=(self.nspec, self.nwave)) self.ivar = np.ones(self.fiberflat.shape) self.mask = np.zeros(self.fiberflat.shape, dtype=np.uint32) self.meanspec = np.random.uniform(size=self.nwave) self.ff = FiberFlat(self.wave, self.fiberflat, self.ivar, self.mask, self.meanspec) def test_init(self): for key in ('wave', 'fiberflat', 'ivar', 'mask', 'meanspec'): x = self.ff.__getattribute__(key) y = self.__getattribute__(key) self.assertTrue(np.all(x == y), key) self.assertEqual(self.nspec, self.ff.nspec) self.assertEqual(self.nwave, self.ff.nwave) def test_dimensions(self): #- check dimensionality mismatches with self.assertRaises(ValueError): FiberFlat(self.wave, self.wave, self.ivar, self.mask, self.meanspec) with self.assertRaises(ValueError): FiberFlat(self.wave, self.wave, self.ivar, self.mask, self.meanspec) with self.assertRaises(ValueError): FiberFlat(self.wave, self.fiberflat, self.ivar, self.mask, self.fiberflat) with self.assertRaises(ValueError): FiberFlat(self.wave, self.fiberflat[0:2], self.ivar, self.mask, self.meanspec) with self.assertRaises(ValueError): FiberFlat(self.fiberflat, self.fiberflat, self.ivar, self.mask, self.meanspec) with self.assertRaises(ValueError): FiberFlat(self.wave, self.fiberflat, self.wave, self.mask, self.meanspec) with self.assertRaises(ValueError): FiberFlat(self.wave, self.fiberflat, self.ivar, self.mask[0:2, :], self.meanspec) fibers = np.arange(self.nspec) FiberFlat(self.wave, self.fiberflat, self.ivar, self.mask, self.meanspec, fibers=fibers) with self.assertRaises(ValueError): FiberFlat(self.wave, self.fiberflat, self.ivar, self.mask, self.meanspec, fibers=fibers[1:]) def test_slice(self): x = self.ff[1] x = self.ff[1:2] x = self.ff[[1,2,3]] x = self.ff[self.ff.fibers<3]