def test_shift_sed(self): sed = Sed(x = self._x, y = self._y, yerr = self._yerr, xunit = self._xunit, yunit = self._yunit, z = self._z) shifted_sed_cfeqTrue = sed.shift(0.1) shifted_sed_cfeqTrue_arr = shifted_sed_cfeqTrue._toarray() # what sed.shift() should do spec_z0 = self._x*(1+0.1)/(1+sed.z) zflux = numpy.trapz(self._y, self._x) z0flux = numpy.trapz(self._y, spec_z0) const = zflux/z0flux self.assertEqual(shifted_sed_cfeqTrue.z, 0.1) self.assertEqual(isinstance(shifted_sed_cfeqTrue, Sed), True) numpy.testing.assert_array_almost_equal(shifted_sed_cfeqTrue_arr[1], self._y*const) # not correcting for dimming: correct_flux = False shifted_sed_cfeqFalse = sed.shift(0.1, correct_flux = False) shifted_sed_cfeqFalse_arr = shifted_sed_cfeqFalse._toarray() numpy.testing.assert_array_equal(shifted_sed_cfeqFalse_arr[1], self._y) numpy.testing.assert_array_equal(shifted_sed_cfeqFalse_arr[0],shifted_sed_cfeqTrue_arr[0]) numpy.testing.assert_array_equal(shifted_sed_cfeqFalse_arr[0],spec_z0)
def test_shift(self): sed = Sed(x = self._x, y = self._y, yerr = self._yerr, xunit = self._xunit, yunit = self._yunit, z = self._z) shifted_sed_cfTrue = sed.shift(0.1) self.assertEqual(shifted_sed_cfTrue.z, 0.1) self.assertAlmostEqual(shifted_sed_cfTrue[1].x, 1858.75094339)