From b0bc4aef882cf1a87b2080aab66af392faf29182 Mon Sep 17 00:00:00 2001 From: Sergey B Kirpichev Date: Tue, 21 Nov 2023 11:36:29 +0300 Subject: [PATCH] +1 --- test/test_context.py | 38 +++++++++++++++++++++++++++++++++++++- test/test_functions.py | 25 +++++++++++++++---------- 2 files changed, 52 insertions(+), 11 deletions(-) diff --git a/test/test_context.py b/test/test_context.py index 0c89f3d5..9c1ce8af 100644 --- a/test/test_context.py +++ b/test/test_context.py @@ -157,13 +157,49 @@ def test_local_context(): def test_context_repr(): - assert repr(get_context()) == \ + ctx = get_context() + assert repr(ctx) == \ """context(precision=53, real_prec=Default, imag_prec=Default,\n\ round=RoundToNearest, real_round=Default, imag_round=Default,\n\ emax=1073741823, emin=-1073741823,\n subnormalize=False,\n\ trap_underflow=False, underflow=False,\n trap_overflow=False,\ overflow=False,\n trap_inexact=False, inexact=False,\n\ trap_invalid=False, invalid=False,\n trap_erange=False,\ + erange=False,\n trap_divzero=False, divzero=False,\n\ + allow_complex=False,\n rational_division=False,\n\ + allow_release_gil=False)""" + + ctx.real_prec = 100 + ctx.imag_prec = 200 + assert repr(ctx) == \ +"""context(precision=53, real_prec=100, imag_prec=200,\n\ + round=RoundToNearest, real_round=Default, imag_round=Default,\n\ + emax=1073741823, emin=-1073741823,\n subnormalize=False,\n\ + trap_underflow=False, underflow=False,\n trap_overflow=False,\ + overflow=False,\n trap_inexact=False, inexact=False,\n\ + trap_invalid=False, invalid=False,\n trap_erange=False,\ + erange=False,\n trap_divzero=False, divzero=False,\n\ + allow_complex=False,\n rational_division=False,\n\ + allow_release_gil=False)""" + ctx.trap_invalid = True + assert repr(ctx) == \ +"""context(precision=53, real_prec=100, imag_prec=200,\n\ + round=RoundToNearest, real_round=Default, imag_round=Default,\n\ + emax=1073741823, emin=-1073741823,\n subnormalize=False,\n\ + trap_underflow=False, underflow=False,\n trap_overflow=False,\ + overflow=False,\n trap_inexact=False, inexact=False,\n\ + trap_invalid=True, invalid=False,\n trap_erange=False,\ + erange=False,\n trap_divzero=False, divzero=False,\n\ + allow_complex=False,\n rational_division=False,\n\ + allow_release_gil=False)""" + pytest.raises(gmpy2.InvalidOperationError, lambda: mpfr('nan') % 123) + assert repr(ctx) == \ +"""context(precision=53, real_prec=100, imag_prec=200,\n\ + round=RoundToNearest, real_round=Default, imag_round=Default,\n\ + emax=1073741823, emin=-1073741823,\n subnormalize=False,\n\ + trap_underflow=False, underflow=False,\n trap_overflow=False,\ + overflow=False,\n trap_inexact=False, inexact=False,\n\ + trap_invalid=True, invalid=True,\n trap_erange=False,\ erange=False,\n trap_divzero=False, divzero=False,\n\ allow_complex=False,\n rational_division=False,\n\ allow_release_gil=False)""" diff --git a/test/test_functions.py b/test/test_functions.py index 2e14c3ac..caa28e90 100644 --- a/test/test_functions.py +++ b/test/test_functions.py @@ -6,16 +6,17 @@ from gmpy2 import (acos, acosh, asin, asinh, atan, atan2, atanh, c_div, c_divmod, c_mod, can_round, check_range, context, copy_sign, cos, cosh, cot, coth, csc, csch, degrees, f2q, f_div, - f_divmod, f_mod, fac, fma, fmma, fmms, fms, from_binary, - get_context, get_emax_max, get_emin_min, get_exp, ieee, inf, - is_bpsw_prp, is_euler_prp, is_extra_strong_lucas_prp, - is_fermat_prp, is_fibonacci_prp, is_finite, is_infinite, - is_lucas_prp, is_nan, is_selfridge_prp, is_strong_bpsw_prp, - is_strong_lucas_prp, is_strong_prp, is_strong_selfridge_prp, - is_zero, maxnum, minnum, mpc, mpfr, mpfr_from_old_binary, - mpq, mpq_from_old_binary, mpz, mpz_from_old_binary, nan, - norm, phase, polar, powmod, powmod_sec, proj, radians, rect, - root, root_of_unity, rootn, sec, sech, set_context, set_exp, + f_divmod, f_mod, fac, fma, fmma, fmms, fms, free_cache, + from_binary, get_context, get_emax_max, get_emin_min, + get_exp, ieee, inf, is_bpsw_prp, is_euler_prp, + is_extra_strong_lucas_prp, is_fermat_prp, is_fibonacci_prp, + is_finite, is_infinite, is_lucas_prp, is_nan, + is_selfridge_prp, is_strong_bpsw_prp, is_strong_lucas_prp, + is_strong_prp, is_strong_selfridge_prp, is_zero, maxnum, + minnum, mpc, mpfr, mpfr_from_old_binary, mpq, + mpq_from_old_binary, mpz, mpz_from_old_binary, nan, norm, + phase, polar, powmod, powmod_sec, proj, radians, rect, root, + root_of_unity, rootn, sec, sech, set_context, set_exp, set_sign, sign, sin, sin_cos, sinh, sinh_cosh, t_div, t_divmod, t_mod, tan, tanh, zero) @@ -923,3 +924,7 @@ def test_t_mod(): def test_get_max_precision(): assert gmpy2.get_max_precision() > 53 + + +def test_free_cache(): + assert free_cache() is None