def test_avoid_log_keyword(): """Test that avoid_log=True and avoid_log=False give different results.""" fac = ExpFactory(X_VALS, asymptote=A, avoid_log=False) fac.iterate(f_exp_down) znl_with_log = fac.reduce() fac.avoid_log = True znl_without_log = fac.reduce() assert not znl_with_log == znl_without_log
def test_exp_factory_no_asympt(test_f: Callable[[float], float]): """Test of exponential extrapolator.""" seeded_f = apply_seed_to_func(test_f, SEED) fac = ExpFactory(X_VALS, asymptote=None) fac.iterate(seeded_f) assert len(fac.opt_params) == 0 assert np.isclose(fac.reduce(), seeded_f(0, err=0), atol=CLOSE_TOL) # There are three parameters to fit in the exponential ansatz assert len(fac.opt_params) == 3