def test_shift_spectrum(self): spectrum = Spectrum(x = numpy.linspace(3000.0, 10000.0, num=10000), y = numpy.linspace(1e-13, 1e-11, num=10000), z = 1.65) shifted_spectrum_cfeqTrue = spectrum.shift(0.1) shifted_spectrum_cfeqFalse = spectrum.shift(0.1, correct_flux = False) # spec_z0 = spectrum.x*(1+0.1)/(spectrum.z) # zflux = numpy.trapz(spectrum.y, spectrum.x) # z0flux = numpy.trapz(spectrum.y, spec_z0) # const = zflux/z0flux const = 1.4673584905660368e-08/3.5350000000000254e-08 self.assertEqual(shifted_spectrum_cfeqTrue.z, 0.1) self.assertAlmostEqual(shifted_spectrum_cfeqTrue.x[9], 1247.8983747) #, delta=1e-6) numpy.testing.assert_array_almost_equal(shifted_spectrum_cfeqTrue.y, spectrum.y*const) numpy.testing.assert_array_equal(shifted_spectrum_cfeqFalse.x, shifted_spectrum_cfeqTrue.x) numpy.testing.assert_array_equal(shifted_spectrum_cfeqFalse.y, spectrum.y)