def test_call_with_composite_function_with_units(): def one_test(spectrum): print("Testing %s" % spectrum.expression) pts = PointSource("test", ra=0, dec=0, spectral_shape=spectrum) res = pts([100, 200] * u.keV) # This will fail if the units are wrong res.to(1 / (u.keV * u.cm**2 * u.s)) # Test a simple composition spectrum = Powerlaw() * Exponential_cutoff() one_test(spectrum) spectrum = Band() + Blackbody() one_test(spectrum) # Test a more complicate composition spectrum = Powerlaw() * Exponential_cutoff() + Blackbody() one_test(spectrum) spectrum = Powerlaw() * Exponential_cutoff() * Exponential_cutoff( ) + Blackbody() one_test(spectrum) if has_xspec: spectrum = XS_phabs() * Powerlaw() one_test(spectrum) spectrum = XS_phabs() * XS_powerlaw() one_test(spectrum) spectrum = XS_phabs() * XS_powerlaw() * XS_phabs() one_test(spectrum) spectrum = XS_phabs() * XS_powerlaw() * XS_phabs() + Blackbody() one_test(spectrum) spectrum = XS_phabs() * XS_powerlaw() * XS_phabs() + XS_powerlaw() one_test(spectrum)
def test_call_with_composite_function_with_units(): def one_test(spectrum): print(("Testing %s" % spectrum.expression)) # # if we have fixed x_units then we will use those # # in the test # # if spectrum.expression.has_fixed_units(): # # x_unit_to_use, y_unit_to_use = spectrum.expression.fixed_units[0] # # else: x_unit_to_use = u.keV pts = PointSource("test", ra=0, dec=0, spectral_shape=spectrum) res = pts([100, 200] * x_unit_to_use) # This will fail if the units are wrong res.to(1 / (u.keV * u.cm**2 * u.s)) # Test a simple composition spectrum = Powerlaw() * Exponential_cutoff() one_test(spectrum) spectrum = Band() + Blackbody() one_test(spectrum) # Test a more complicate composition spectrum = Powerlaw() * Exponential_cutoff() + Blackbody() one_test(spectrum) spectrum = Powerlaw() * Exponential_cutoff() * Exponential_cutoff() + Blackbody() one_test(spectrum) if has_xspec: spectrum = XS_phabs() * Powerlaw() one_test(spectrum) spectrum = XS_phabs() * XS_powerlaw() one_test(spectrum) spectrum = XS_phabs() * XS_powerlaw() * XS_phabs() one_test(spectrum) spectrum = XS_phabs() * XS_powerlaw() * XS_phabs() + Blackbody() one_test(spectrum) spectrum = XS_phabs() * XS_powerlaw() * XS_phabs() + XS_powerlaw() one_test(spectrum)