ó
¡¼™\c           @   sÞ   d  d l  m Z m Z m Z m Z d  d l m Z d \ Z Z Z	 e
 e d ƒ \ Z Z Z Z e Z d „  Z d „  Z i  d „ Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   iÿÿÿÿ(   t   Compoundt   Variablet   CondVariablet   allcombinations(   t   coret   abct   wxyzc         C   s   t  |  t ƒ o |  j d k S(   Nt   Addt   Mult   CAddt   CMul(   R   R   R	   R
   (   t
   isinstanceR    t   op(   t   x(    (    s;   lib/python2.7/site-packages/sympy/unify/tests/test_unify.pyt   is_associative	   s    c         C   s   t  |  t ƒ o |  j d k S(   NR	   R
   (   R	   R
   (   R   R    R   (   R   (    (    s;   lib/python2.7/site-packages/sympy/unify/tests/test_unify.pyt   is_commutative   s    c      	   C   s"   t  j |  | d | d t d t ƒS(   Nt   sR   R   (   R   t   unifyR   R   (   t   at   bR   (    (    s;   lib/python2.7/site-packages/sympy/unify/tests/test_unify.pyR      s    c           C   sÚ  t  t t t i  ƒ ƒ i t t 6g k s. t ‚ t  t t t i d t 6ƒ ƒ g  k sY t ‚ t  t d t i  ƒ ƒ i d t 6g k s‡ t ‚ t  t t t i  ƒ ƒ i  g k s® t ‚ t  t t t f t t f i  ƒ ƒ i t t 6t t 6g k sï t ‚ t  t t t t f i  ƒ ƒ i t t f t 6g k s)t ‚ t  t t t f t t f i  ƒ ƒ g  k sYt ‚ t  t t t f t t f i  ƒ ƒ g  k s‰t ‚ t  t t t t	 f f t t t f f i  ƒ ƒ i t t 6t	 t 6g k sÖt ‚ d  S(   Ni
   i   (
   t   listR   R   R   t   AssertionErrort   wt   yt   zR   t   c(    (    (    s;   lib/python2.7/site-packages/sympy/unify/tests/test_unify.pyt
   test_basic   s    .+.'A:00c           C   sÈ   t  t t d t t t f ƒ t d t t t f ƒ i  ƒ ƒ i t t 6t t 6g k sY t ‚ t  t t d t d d ƒ t t f ƒ t d t t t f ƒ i  ƒ ƒ i t d d ƒ t 6t t 6g k sÄ t ‚ d  S(   NR   R   i   i   (   i   i   (   i   i   (	   R   R   t   CR   R   R   R   R   R   (    (    (    s;   lib/python2.7/site-packages/sympy/unify/tests/test_unify.pyt   test_ops   s    9 Bc          C   s˜   t  d d ƒ }  t  d t t f ƒ } t t |  | i  ƒ ƒ } t t |  | i  ƒ ƒ i d t 6t  d d ƒ t 6i t  d d ƒ t 6d t 6f k s” t ‚ d  S(   NR   i   i   i   (   i   i   i   (   i   i   (   i   i   (   R   R   R   R   R   t   tupleR   (   t   c1t   c2t   result(    (    s;   lib/python2.7/site-packages/sympy/unify/tests/test_unify.pyt   test_associative%   s
    /c          C   sµ   t  d d ƒ }  t  d t t f ƒ } t t |  | i  ƒ ƒ } i d t 6t  d d ƒ t 6| k se t ‚ i d t 6t  d d ƒ t 6| k s± i d t 6t  d d ƒ t 6| k s± t ‚ d  S(	   NR	   i   i   i   (   i   i   i   (   i   i   (   i   i   (   i   i   (   R   R   R   R   R   R   (   R   R   R    (    (    s;   lib/python2.7/site-packages/sympy/unify/tests/test_unify.pyt   test_commutative,   s    )#c           C   s^   t  t d t t f t ƒ ƒ t  d d f t t f f d d f t t f f f ƒ k sZ t ‚ d  S(	   Ni   i   i   (   i   i   i   (   i   i   (   i   (   i   (   i   i   (   t   setR   R   R   t   TrueR   (    (    (    s;   lib/python2.7/site-packages/sympy/unify/tests/test_unify.pyt   _test_combinations_assoc4   s    c        
   C   sŽ   t  t d t t f d  ƒ ƒ t  d d f d	 f d
 d f d f d d f d f d d f d f d d f d f d d f d f f ƒ k sŠ t ‚ d  S(   Ni   i   i   R   R   (   i   i   i   (   i   (   i   i   (   R   R   (   i   (   i   i   (   R   R   (   i   (   i   i   (   R   R   (   i   i   (   i   (   R   R   (   i   i   (   i   (   R   R   (   i   i   (   i   (   R   R   (   R#   R   R   R   t   NoneR   (    (    (    s;   lib/python2.7/site-packages/sympy/unify/tests/test_unify.pyt   _test_combinations_comm8   s    !c           C   sX   t  t d d d ƒ ƒ t  d d f d d	 f f d
 d f d d f f f ƒ k sT t ‚ d  S(   Ni   i   t   commutative(   i   i   (   i   i   (   i   (   i   (   i   (   i   (   i   (   i   (   i   (   i   (   R#   R   R   (    (    (    s;   lib/python2.7/site-packages/sympy/unify/tests/test_unify.pyt   test_allcombinations>   s    c          C   sv   t  d t t f ƒ }  t  d t t f ƒ } t |  ƒ rB t | ƒ sH t ‚ t t t	 |  | i  ƒ ƒ ƒ d k sr t ‚ d  S(   NR	   i   (
   R    R   R   R   R   R   R   t   lenR   R   (   R   R   (    (    s;   lib/python2.7/site-packages/sympy/unify/tests/test_unify.pyt   test_commutativityC   s    c          C   sØ   t  d d
 ƒ }  t d ƒ } t d d „  ƒ } t d d „  ƒ } t  d | | f ƒ } t t |  | i  ƒ ƒ i d | 6d | 6g k s‰ t ‚ t d d	 „  ƒ } t  d | | f ƒ } t t |  | i  ƒ ƒ g  k sÔ t ‚ d  S(   NR	   i   i   R   R   c         S   s   |  d d k S(   Ni   i    (    (   R   (    (    s;   lib/python2.7/site-packages/sympy/unify/tests/test_unify.pyt   <lambda>M   t    R   c         S   s
   |  d k S(   Ni   (    (   R   (    (    s;   lib/python2.7/site-packages/sympy/unify/tests/test_unify.pyR,   N   R-   c         S   s
   |  d k S(   Ni   (    (   R   (    (    s;   lib/python2.7/site-packages/sympy/unify/tests/test_unify.pyR,   S   R-   (   i   i   (   R   R   R   R   R   R   (   t   exprR   R   R   t   pattern(    (    s;   lib/python2.7/site-packages/sympy/unify/tests/test_unify.pyt   test_CondVariableJ   s     c           C   s8   t  t t d ƒ d ƒ ƒ i d t d ƒ 6k s4 t ‚ d  S(   NR   t   foo(   t   nextR   R   R   (    (    (    s;   lib/python2.7/site-packages/sympy/unify/tests/test_unify.pyt   test_defaultdictX   s    N(   t   sympy.unify.coreR    R   R   R   t   sympy.unifyR   R   R   R   t   mapR   R   R   R   R   R   R   R   R   R   R!   R"   R%   R'   R)   R+   R0   R3   (    (    (    s;   lib/python2.7/site-packages/sympy/unify/tests/test_unify.pyt   <module>   s"   "											