def test_frb_rates(self):

        for evolution in sfr_evolutions.keys():
            for rate in local_frb_rates.keys():
                f = get_rate("frb", evolution_name=evolution, rate_name=rate)
                f(zrange)

        f = get_rate("frb")
        true = 0.418741971152887 / (u.Mpc**3 * u.yr)

        self.assertAlmostEqual(f(1.0)/true, 1.0, delta=0.05)
    def test_sfr_rates(self):

        for evolution in sfr_evolutions.keys():
            for rate in local_sfr_rates.keys():
                f = get_rate("sfr", evolution_name=evolution, rate_name=rate)
                f(zrange)

        f = get_rate("sfr")
        true = 0.08687592762508031 * u.solMass / (u.Mpc**3 * u.yr)

        self.assertAlmostEqual(f(1.0)/true, 1.0, delta=0.05)
    def test_fbot_rates(self):

        for evolution in sfr_evolutions.keys():
            for rate in local_fbot_rates.keys():
                f = get_rate("fbot", evolution_name=evolution, rate_name=rate)
                f(zrange)

        f = get_rate("fbot")
        true = 4.054209955837081e-06/ (u.Mpc**3 * u.yr)

        self.assertAlmostEqual(f(1.0)/true, 1.0, delta=0.05)
    def test_frb_rates(self):

        for evolution in sfr_evolutions.keys():
            for rate in local_frb_rates.keys():
                f = get_rate("frb", evolution_name=evolution, rate_name=rate)
                f(zrange)

        f_mid, f_low, f_high = get_rate("frb", with_range=True)
        true = [
            0.418741971152887 / (u.Mpc**3 * u.yr),
            0.0637090135917256 / (u.Mpc**3 * u.yr),
            0.9272557341850235 / (u.Mpc**3 * u.yr),
        ]

        for i, f in enumerate([f_mid, f_low, f_high]):
            self.assertAlmostEqual(f(1.0) / true[i], 1.0, delta=0.05)