Skip to content

Commit 469f817

Browse files
committed
src/sage/rings/function_field/function_field_test.py: new pytests
Move the existing TestSuite() runs for function fields to pytest. These are long/slow tests that are not instructive as examples in the documentation. As a side effect, we fix some "slow doctest" warnings present in the CI.
1 parent 931cc5e commit 469f817

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
import pytest
2+
3+
# sage.misc.sage_unittest.TestSuite imports are local to avoid
4+
# pytest warnings.
5+
from sage.rings.finite_rings.finite_field_constructor import FiniteField
6+
from sage.rings.function_field.constructor import FunctionField
7+
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
8+
from sage.rings.rational_field import QQ
9+
10+
11+
class TestFunctionField:
12+
r"""
13+
Run the long/slow TestSuite() methods on some function fields
14+
that are constructed in the documentation. These used to be run in
15+
a ``TESTS::`` block, but they are more appropriate here.
16+
"""
17+
def test_function_field_S_M_N_testsuite(self):
18+
from sage.misc.sage_unittest import TestSuite
19+
20+
K = FunctionField(FiniteField(5**2,'a'), 'x')
21+
x = K.gen()
22+
R = PolynomialRing(K, 'y')
23+
y = R.gen()
24+
L = K.extension(y**3 - (x**3 + 2*x*y + 1/x))
25+
S = PolynomialRing(L, 't')
26+
t = S.gen()
27+
M = L.extension(t**2 - x*y)
28+
N = FunctionField(K, 'u')
29+
TestSuite(S).run(verbose=True, raise_on_failure=True, max_runs=8)
30+
TestSuite(M).run(verbose=True, raise_on_failure=True, max_runs=1)
31+
TestSuite(N).run(verbose=True, raise_on_failure=True, max_runs=1)
32+
33+
# The test suites for K,L,O were inadvertently made to be over
34+
# QQbar in commit 5f162a448cb708fed40bebc1345fd656f918aed3. We use
35+
# the old, faster definitions over QQ.
36+
def test_function_field_K_L_O_testsuite(self):
37+
from sage.misc.sage_unittest import TestSuite
38+
39+
K = FunctionField(QQ, 'x')
40+
x = K.gen()
41+
Y = PolynomialRing(K, 'Y').gen()
42+
L = K.extension(Y**2 + Y + x + 1/x, 'y')
43+
O = L.maximal_order()
44+
TestSuite(K).run(verbose=True, raise_on_failure=True, max_runs=16)
45+
TestSuite(L).run(verbose=True, raise_on_failure=True, max_runs=2)
46+
TestSuite(O).run(verbose=True, raise_on_failure=True)
47+
48+
def test_function_field_R_testsuite(self):
49+
from sage.misc.sage_unittest import TestSuite
50+
51+
F = FunctionField(QQ, 'x')
52+
R = PolynomialRing(F, 'Y')
53+
TestSuite(R).run(verbose=True, raise_on_failure=True)
54+
55+
def test_function_field_J_testsuite(self):
56+
from sage.misc.sage_unittest import TestSuite
57+
58+
J = FunctionField(FiniteField(5), 'x')
59+
TestSuite(J).run(verbose=True, raise_on_failure=True)

0 commit comments

Comments
 (0)