
    [c                         d dl T d dl Z d dlZ d dlZd dlmZ d Zd Zd Zd Zd Z	d	 Z
d
 Zd Ze j         G d de                      Zd Zd ZdS )    )*N)raisesc                      t          t          t                    } t          j        t          j        |                     } | d           |d          k    sJ d S )N)      )composestrsumpickleloadsdumpsfgs     >lib/python3.11/site-packages/toolz/tests/test_serialization.pytest_composer      sO    SAV\!__%%A1V99&		!!!!!!    c                       t          t                    t                    } t          j        t          j        |                     }t           | d                    t           |d                    k    sJ d S )N)r   r      )currymapr	   r   r   r   listr   s     r   
test_curryr      sc    c

3AV\!__%%A)aa	ll!3!3333333r   c                      t          t          t          t                    } t	          j        t	          j        |                     } | d           |d          k    sJ | j        |j        k    sJ d S )Nr   )juxtr	   intboolr   r   r   funcsr   s     r   	test_juxtr      se    S#tAV\!__%%A1Q4411Q44<7agr   c                     t          t                    }  | d          du sJ  | d          du sJ t          j        t          j        |                     } | d           |d          k    sJ  | d           |d          k    sJ d S )NTF)
complementr   r   r   r   r   s     r   test_complementr"      s    4A1T77e1U88tV\!__%%A1T77aagg1U88qqxxr   c                     t           j                            t                    } |                     d           J |                     d          du sJ |                     d          du sJ t          j        t          j        |                     }|                    d           J |                    d          du sJ |                    d          du sJ d S )Nr   Fr   T)toolz	functoolzInstancePropertyr   __get__r   r   r   )pp2s     r   test_instancepropertyr*   $   s    ((..A99T??"""99Q<<5    99Q<<4	fl1oo	&	&B::d###::a==E!!!!::a==D      r   c                 
    | |fS N xys     r   r   r   /   s    a4Kr   c                  L   t          j        t          j        t          j        j                            } | t          j        j        u sJ  | t                    }t          j        t          j        |                    } |dd           |dd          cxk    rt          dd          k    sn J   | t                    d          }t          j        t          j        |                    } |d           |d          cxk    rt          dd          k    sn J d S )Nr   r   )r   r   r   r$   r%   flipr   )r2   g1g2s      r   	test_flipr5   3   s   <U_%9::;;D5?'''''	aB	fl2&&	'	'B2a88rr!Qxx****1Q77******	aB	fl2&&	'	'B2a55BBqEE$$$$Qq!WW$$$$$$$$r   c                      t          j        t          j        t          j        j                            } | t          j        j        u sJ d S r,   )r   r   r   r$   curriedmerge)r8   s    r   test_curried_exceptionsr9   >   s<    Lem&9::;;EEM'''''''r   c                       e Zd Zd Zej        d             Zd Zd Zej         G d de	                      Z
 G d de	          Zd	S )
GlobalCurriedc                 "    || _         || _        d S r,   r.   selfr/   r0   s      r   __init__zGlobalCurried.__init__F   s    r   c                 ,    | j         | j        z   |z   |z   S r,   r.   r>   abs      r   f1zGlobalCurried.f1J   s    v"Q&&r   c                     d S r,   r-   r>   s    r   r3   zGlobalCurried.g1N   s    r   c                 ,    t           | j        | j        ffS )z0Allow us to serialize instances of GlobalCurried)r;   r/   r0   rF   s    r   
__reduce__zGlobalCurried.__reduce__Q   s    tvtv...r   c                   @    e Zd Zd Zej        d             Zd Zd ZdS )GlobalCurried.NestedCurriedc                 "    || _         || _        d S r,   r.   r=   s      r   r?   z$GlobalCurried.NestedCurried.__init__W       DFDFFFr   c                 ,    | j         | j        z   |z   |z   S r,   r.   rA   s      r   f2zGlobalCurried.NestedCurried.f2[       6DF?Q&**r   c                     d S r,   r-   rF   s    r   r4   zGlobalCurried.NestedCurried.g2_       Dr   c                 6    t           j        | j        | j        ffS )z0Allow us to serialize instances of NestedCurried)r;   NestedCurriedr/   r0   rF   s    r   rH   z&GlobalCurried.NestedCurried.__reduce__b   s     .0@@@r   N)	__name__
__module____qualname__r?   r$   r   rN   r4   rH   r-   r   r   rS   rJ   U   sc        	 	 	 
	+ 	+ 
	+	 	 		A 	A 	A 	A 	Ar   rS   c                   :    e Zd Zd Zej        d             Zd ZdS )GlobalCurried.Nestedc                 "    || _         || _        d S r,   r.   r=   s      r   r?   zGlobalCurried.Nested.__init__g   rL   r   c                 ,    | j         | j        z   |z   |z   S r,   r.   rA   s      r   f3zGlobalCurried.Nested.f3k   rO   r   c                     d S r,   r-   rF   s    r   g3zGlobalCurried.Nested.g3o   rQ   r   N)rT   rU   rV   r?   r$   r   r[   r]   r-   r   r   NestedrX   f   sO        	 	 	 
	+ 	+ 
	+	 	 	 	 	r   r^   N)rT   rU   rV   r?   r$   r   rD   r3   rH   objectrS   r^   r-   r   r   r;   r;   D   s           [' ' ['  / / / [A A A A A A A [A 
 
 
 
 
 
 
 
 
 
r   r;   c                      d }  | t                     sJ  | t           j        j                  sJ  | t           j        j                  sJ  | t           j        j        j        j                  sJ  | t           j        j        j                  sJ t          d          }t          j        t          j	        |                    }||usJ  |d                              dd           |d                              dd          cxk    rdk    sn J  |d          }t          j        t          j	        |                    }||usJ |                    dd          |                    dd          cxk    rdk    sn J  |d                              d          }t          j        t          j	        |                    }||usJ  |d           |d          cxk    rdk    sn J t           j                            d          }t          j        t          j	        |                    }||usJ  |d                              dd           |d                              dd          cxk    rdk    sn J d S )Nc                 R    t          j        t          j        |                     | u S r,   )r   r   r   )objs    r   preserves_identityz1test_curried_qualname.<locals>.preserves_identityu   s!    |FL--..#55r   r   r   r      
   )
r;   funcrD   rS   rN   r^   r[   r   r   r   )	rc   global_curried1global_curried2global_curried3global_curried4func1func2nested_curried1nested_curried2s	            r   test_curried_qualnamero   s   s   6 6 6 m,,,,,m0344444m0>?????m0>CFGGGGGm07:;;;;;#A&&Ol6<#@#@AAO/1111?1  A&&//!*<*<*?*?1*E*EKKKKKKKKKK%oa((Ol6<#@#@AAO/1111a##'9'9!Q'?'?EEEE2EEEEEEOA!!!$$ELe,,--E588uuQxx%%%%2%%%%%%#(66q99Ol6<#@#@AAO/1111?1  A&&//!*<*<*?*?1*E*EKKKKKKKKKKKKr   c                       t           j         G d dt                                 t          t          j         fd          sJ d S )Nc                       e Zd ZdZdS )&test_curried_bad_qualname.<locals>.Badz toolz.functoolz.not.a.valid.pathN)rT   rU   rV   r-   r   r   Badrr      s        9r   rs   c                  ,    t          j                   S r,   )r   r   rs   s   r   <lambda>z+test_curried_bad_qualname.<locals>.<lambda>   s    S0A0A r   )r$   r   r_   r   r   PicklingErrorru   s   @r   test_curried_bad_qualnamerx      sd    
[: : : : :f : : [: &&(A(A(A(ABBBBBBBr   )r$   toolz.curriedr   toolz.utilsr   r   r   r   r"   r*   r   r5   r9   r   r_   r;   ro   rx   r-   r   r   <module>r{      s#                  " " "4 4 4       ! ! !  % % %( ( ( + + + + +F + + +\L L LPC C C C Cr   