def METHOD_NAME(self):
    # check calling outside of kinematical regions yields 0
    self.assertAlmostEqual(flavio.sm_prediction('AFB(B->Xsmumu)', 0), 0)
    self.assertAlmostEqual(flavio.sm_prediction('AFB(B->Xsll)', 30), 0)
    # just check differential AFB doesn't raise errors
    flavio.sm_prediction('AFB(B->Xsee)', 1)
    flavio.sm_prediction('AFB(B->Xsmumu)', 6)
    flavio.sm_prediction('AFB(B->Xsll)', 14.4)
    # check whether QED corrections have the right behaviour
    # (table 2 of arXiv:1503.04849)
    wc_obj = flavio.WilsonCoefficients()
    par = flavio.default_parameters.get_central_all()
    afb_num_low1_noqed = bxll_afb_num_int(1, 3.5, wc_obj, par, 's', 'e', include_qed=False)
    afb_num_low1_qed   = bxll_afb_num_int(1, 3.5, wc_obj, par, 's', 'e', include_qed=True)
    afb_num_low2_noqed = bxll_afb_num_int(3.5, 6, wc_obj, par, 's', 'e', include_qed=False)
    afb_num_low2_qed   = bxll_afb_num_int(3.5, 6, wc_obj, par, 's', 'e', include_qed=True)
    afb_den_low1_noqed = bxll_afb_den_int(1, 3.5, wc_obj, par, 's', 'e', include_qed=False)
    afb_den_low1_qed   = bxll_afb_den_int(1, 3.5, wc_obj, par, 's', 'e', include_qed=True)
    afb_den_low2_noqed = bxll_afb_den_int(3.5, 6, wc_obj, par, 's', 'e', include_qed=False)
    afb_den_low2_qed   = bxll_afb_den_int(3.5, 6, wc_obj, par, 's', 'e', include_qed=True)
    self.assertAlmostEqual((afb_num_low1_qed-afb_num_low1_noqed)/afb_num_low1_qed,
                            -0.107, delta=0.050) # should lead to a -10.7% suppression
    self.assertAlmostEqual((afb_num_low2_qed-afb_num_low2_noqed)/afb_num_low2_qed,
                            +0.162, delta=0.025) # should lead to a 16.2% enhancement
    self.assertAlmostEqual((afb_den_low1_qed-afb_den_low1_noqed)/afb_den_low1_qed,
                            0.068, delta=0.005) # should lead to a 6.8% enhancement
    self.assertAlmostEqual((afb_den_low2_qed-afb_den_low2_noqed)/afb_den_low2_qed,
                            0.031, delta=0.010) # should lead to a 3.1% enhancement
    # compare SM predictions to arXiv:1503.04849
    self.assertAlmostEqual(
        flavio.sm_prediction('<AFB>(B->Xsee)', 1, 3.5)/(3/4.*(-1.03e-7)/((2.91e-7)+(6.35e-7))),
        1, delta=0.15)
    self.assertAlmostEqual(
        flavio.sm_prediction('<AFB>(B->Xsee)', 3.5, 6)/(3/4.*(0.73e-7)/((2.43e-7)+(4.97e-7))),
        1, delta=0.1)
    self.assertAlmostEqual(
        flavio.sm_prediction('<AFB>(B->Xsmumu)', 1, 3.5)/(3/4.*(-1.10e-7)/((2.09e-7)+(6.79e-7))),
        1, delta=0.1)
    self.assertAlmostEqual(
        flavio.sm_prediction('<AFB>(B->Xsmumu)', 3.5, 6)/(3/4.*(0.67e-7)/((1.94e-7)+(5.34e-7))),
        1, delta=0.15)