
    sg                     T    d Z ddlmZ ddlmZ ddlmZmZ ddlm	Z	 ddl
mZ d Zd Zy	)
zTests for quotient rings.    )ZZ)QQ)xy)NotReversible)raisesc            	         t        j                  t              t        dz  gz  } | j                  t              dz   z  | j                  t        dz  t        z         k(  sJ t        z  | j                  t        dz        k(  sJ t        z  | j                  t        dz        k(  sJ t        z   | j                  dt        z        k(  sJ t        z   dz  k(  sJ dz  | j                  t        dz        k(  sJ ddz
  z  | j                  t	        d t        d      D                    k(  sJ dz  | j                  k(  sJ t        k7  sJ t        t        fd       y )N
         c              3   .   K   | ]  }t         |z    y wN)r   ).0is     ^/var/www/html/venv/lib/python3.12/site-packages/sympy/polys/domains/tests/test_quotientring.py	<genexpr>z+test_QuotientRingElement.<locals>.<genexpr>   s     %>qad%>s   c                      d z  S )Nr    )Xs   r   <lambda>z*test_QuotientRingElement.<locals>.<lambda>   s    !A#     )	r   old_poly_ringr   convertsumrangezeror   r   )Rr   s    @r   test_QuotientRingElementr      s5   
QUG#A			!Aa!e9		!Q$(++++Q3!))AqD/!!!Q3!))AqD/!!!q5AIIacN"""q5AaC<<a4199QT?"""a!e9		#%>E"I%>">????b5AFF??6M6
=+&r   c                     t        j                  t              j                  t        dz  dz         } t        j                  t              | z  }|t        j                  t              t        dz  dz   gz  k(  sJ |t        j                  t              t        j                  t              j                  t        dz  dz         z  k(  sJ |t        j                  t              k7  sJ |j	                  d      t        z  t         | z   k(  sJ d| z   t        dz  | z   k(  sJ |j	                  t        d      t
              d| z   k(  sJ |j	                  |j	                  t              |      |j	                  t              k(  sJ |j	                  t              }t        j                  t              j	                  t              }d| z   |dz  | z   k(  sJ d| z   |dz  | z   k(  sJ |j                  |      t        k(  sJ t        t        d        t        j                  t        d      }|j                  t              } |j	                  d      | z   || z  j	                  d      k(  sJ y )Nr   r   c                      t        j                  t              t        j                  t        t              j	                  t              z  S r   )r   r   r   r   idealr   r   r   r   z#test_QuotientRing.<locals>.<lambda>0   s/    r//223C3CAq3I3O3OPQ3RR r   ilex)order)	r   r   r   r"   r   r   to_sympyr   
ValueError)Ir   r   Ys       r   test_QuotientRingr)      s   
!!!Q$(+A
AA  #QTAXJ....  #B$4$4Q$7$=$=adQh$GGGGG  ####99Q<>aR!V###6QTAX99RUB1q5(((99QYYq\1%1555			!A
##A&A6QTAX6QTAX::a=A
:RS
&)A	
A99Q<!!}}Q////r   N)__doc__sympy.polys.domains.integerringr   !sympy.polys.domains.rationalfieldr   	sympy.abcr   r   sympy.polys.polyerrorsr   sympy.testing.pytestr   r   r)   r   r   r   <module>r0      s!     . 0  0 ''"0r   