def test_default_plane(): # Ensure that a default Plane creates an object that won't have any # impact on an optical system (a perfect optic with no phase change and # perfect optical and spectral transmission). p = lentil.Plane() assert p.pixelscale is None assert np.all(p.amplitude == 1) assert np.all(p.phase == 0) assert p.mask == p.amplitude assert p.segmask is None assert p.nseg == 0
def test_set_plane_attrs_none(): p = lentil.Plane(pixelscale=1, amplitude=1, phase=0, mask=1, segmask=1) p.pixelscale = None p.amplitude = None p.phase = None p.mask = None p.segmask = None assert p.pixelscale is None assert p.amplitude is None assert p.phase is None assert p.mask is None assert p.segmask is None assert p.shape is None
def test_iterable_segmask_all_none(): p1 = lentil.Plane() p2 = lentil.Plane() iterable_segmask = lentil.modeltools.iterable_segmask([p1, p2]) assert iterable_segmask is None
def test_iterable_segmask_default(): p1 = lentil.Plane() p2 = RandomPlane() iterable_segmask = lentil.modeltools.iterable_segmask([p1, p2]) assert np.array_equal(iterable_segmask, p2.segmask)
def test_iterable_phase_default(): p1 = lentil.Plane() p2 = RandomPlane() iterable_phase = lentil.modeltools.iterable_phase([p1, p2]) assert np.array_equal(iterable_phase, p1.phase + p2.phase)
def test_iterable_amplitude_default(): p1 = lentil.Plane() p2 = RandomPlane() iterable_amplitude = lentil.modeltools.iterable_amplitude([p1, p2]) assert np.array_equal(iterable_amplitude, p1.amplitude * p2.amplitude)