ó
Ąź\c           @   sC   d  d l  m Z d  d l m Z d  d l m Z m Z d   Z d S(   i˙˙˙˙(   t   Poly(   t   FiniteExtension(   t   xt   tc          C   sŔ  t  t t d d t   }  |  j d k s2 t  t |   d k sJ t  |  j } |  j |  j | f k sq t  |  d  |  j k s t  | d |  d  k s¨ t  | d d k sž t  d | d | d | k sŕ t  d | d |  d  k s t  t  t t d t d t d d  } | j d k s<t  | j } | j | d  | | d f k smt  | d	 | k st  | d
 | d  k st  | d | d  k sťt  | d | d k sŐt  | d | d k sďt  | d | d | d k st  t  t t	 d t d t d t	 d t
  } | j d k sUt  t |  d k smt  | j } d t d t d t d } | t | t | | d  k sźt  d  S(   Ni   i   s   ZZ[x]/(x**2 + 1)i˙˙˙˙i   i   i   t   modulusi   i   i   i	   i   t   fields   ZZ(x)[t]/(t**2 - x**3 - x + 1)(   R   R    R   t   rankt   AssertionErrort   strt	   generatort   basist   oneR   t   True(   t   At   it   Ft   at   Kt   yt   c(    (    sE   lib/python2.7/site-packages/sympy/polys/agca/tests/test_extensions.pyt   test_FiniteExtension   s4    	" '	("/	N(   t   sympy.polys.polytoolsR    t   sympy.polys.agca.extensionsR   t	   sympy.abcR   R   R   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/agca/tests/test_extensions.pyt   <module>   s   