ó
Ąź\c           @   sŃ   d  Z  d d l m Z m Z m Z m Z m Z m Z m Z m	 Z	 m
 Z
 m Z d d l m Z m Z m Z m Z d d l m Z d d l m Z d   Z d   Z d   Z d	   Z d
   Z d   Z d   Z d S(   s   Tests of monomial orderings. i˙˙˙˙(
   t   monomial_keyt   lext   grlext   grevlext   ilext   igrlext   LexOrdert   InverseOrdert   ProductOrdert   build_product_order(   t   xt   yt   zt   t(   t   S(   t   raisesc           C   sB  t  d  d k s t  t t   d k s0 t  t  d	  t  d
  k sN t  t  d  t  d  k sl t  t  d  t  d  k s t  t  d  t  d  k s¨ t  t  d  t  d  k  sĆ t  t  d  t  d  k  sä t  t  d  t  d  k  st  t  j t k st  t  t   k s,t  t  t k s>t  d  S(   Ni   i   i   R   i   i    (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i    i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   R   t   AssertionErrort   strt	   is_globalt   TrueR   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_orderings.pyt   test_lex_order   s    c           C   sŐ  t  d  d d	 f k s t  t t   d k s6 t  t  d
  t  d  k sT t  t  d  t  d  k sr t  t  d  t  d  k s t  t  d  t  d  k sŽ t  t  d  t  d  k  sĚ t  t  d  t  d  k  sę t  t  d  t  d  k  st  t  d  t  d  k s&t  t  d  t  d  k sDt  t  d  t  d  k  sbt  t  d  t  d  k  st  t  d   t  d!  k st  t  d"  t  d#  k  sźt  t  j t k sŃt  d  S($   Ni   i   i   i   R   i   i    (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i    i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i    i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i    i   i   (   i    i    i   (   i    i   i   (   i   i   i   (   R   R   R   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_orderings.pyt   test_grlex_order   s     c           C   sŐ  t  d  d d f k s t  t t   d k s6 t  t  d  t  d  k sT t  t  d  t  d  k sr t  t  d  t  d  k s t  t  d  t  d  k sŽ t  t  d  t  d  k  sĚ t  t  d  t  d  k  sę t  t  d  t  d  k  st  t  d  t  d  k s&t  t  d  t  d  k sDt  t  d  t  d   k  sbt  t  d!  t  d"  k  st  t  d#  t  d$  k st  t  d%  t  d&  k  sźt  t  j t k sŃt  d  S('   Ni   i   i   i   iý˙˙˙iţ˙˙˙i˙˙˙˙R   i   i    (   i   i   i   (   iý˙˙˙iţ˙˙˙i˙˙˙˙(   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i    i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i    i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i    i   i   (   i    i    i   (   i    i   i   (   i   i   i   (   R   R   R   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_orderings.pyt   test_grevlex_order7   s     c          C   sß   t  t  }  t  t  } |  d  |  d  k s6 t  | d	  | d
  k  sT t  t |   d k sl t  t |  d k s t  |  j t k s t  | j t k sŽ t  |  | k sŔ t  |  t  t    k sŰ t  d  S(   Ni   i   i   i    R   R   (   i   i   i   (   i   i    i   (   i   i   i   (   i    i   i   (   R   R   R   R   R   R   t   FalseR   (   R   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_orderings.pyt   test_InverseOrderP   s    c          C   sÄ   t  t d   f t d   f  }  |  d	  |  d
  k s? t  t |   d k sW t  |  j t k sl t  t  t d  f t d  f  j d  k s t  t  t d  f t d  f  j t	 k sŔ t  d  S(   Nc         S   s   |  d  S(   Ni   (    (   t   m(    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_orderings.pyt   <lambda>^   t    c         S   s   |  d S(   Ni   (    (   R   (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_orderings.pyR   ^   R   i   i   i   i   i   s   ProductOrder(grlex, grlex)(   i   i   i   i   i   (   i   i   i   i   i   (
   R   R   R   R   R   R   t   NoneR   R   R   (   t   P(    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_orderings.pyt   test_ProductOrder]   s    !*c          C   s  t    t k s t  t  d  t k s- t  t  d  t k sE t  t  d  t k s] t  t t d    t t d    t t d t d t t	 t d t
 d  t	 d t d t	 t t t	 d t t d t	 d g }  t |  d	 t  d t t	 t g  t
 d  t t d t d t	 t t	 t	 d t d t	 d t t t	 d t t d t d g k sit  t |  d	 t  d t t	 t g  t
 d  t t	 t t d t t	 t	 d t d t d t	 d t t	 d t t d t d g k sôt  t |  d	 t  d t t	 t g  t
 d  t t	 t t d t t	 t	 d t d t d t	 d t d t d t t	 d t g k st  d  S(
   NR   R   R   c           S   s
   t  d  S(   Nt   foo(   R    (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_orderings.pyR   l   R   c           S   s
   t  d  S(   Ni   (   R    (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_orderings.pyR   m   R   i   i   i   t   key(   R    R   R   R   R   R   t
   ValueErrorR
   R   R   R   t   sorted(   t   M(    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_orderings.pyt   test_monomial_keye   s    a!j!j!c           C   sÇ   t  d t t f d t t f f t t t t g  d  d d	 f d d
 f f k sW t  t  d t t f d t t f f t t t t g  t  d t t f d t t f f t t t t g  k sĂ t  d  S(   NR   i   i   i   i   i	   i   (   i   i   i   i   (   i   i   (   i   i   (   R	   R
   R   R   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_orderings.pyt   test_build_product_orderw   s    6!0N(   t   __doc__t   sympy.polys.orderingsR    R   R   R   R   R   R   R   R   R	   t	   sympy.abcR
   R   R   R   t
   sympy.coreR   t   sympy.utilities.pytestR   R   R   R   R   R   R$   R%   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_orderings.pyt   <module>   s   F"						