
    bi                         d dl  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             Zd Zd Zy)    )*N)raisesc                      t        t        t              } t        j                  t        j
                  |             } | d       |d      k(  sJ y )N)      )composestrsumpickleloadsdumpsfgs     Y/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/toolz/tests/test_serialization.pytest_composer      s:    SAV\\!_%AV9&	!!!    c                       t        t              t              } t        j                  t        j
                  |             }t         | d            t         |d            k(  sJ y )N)r   r      )currymapr	   r   r   r   listr   s     r   
test_curryr      sG    c
3AV\\!_%A)a	l!3333r   c                      t        t        t        t              } t	        j
                  t	        j                  |             } | d       |d      k(  sJ | j                  |j                  k(  sJ y )Nr   )juxtr	   intboolr   r   r   funcsr   s     r   	test_juxtr      sP    S#tAV\\!_%AQ41Q4<<77agg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 y )NTF)
complementr   r   r   r   r   s     r   test_complementr"      sr    4AT7eU8tV\\!_%AT7agU8qxr   c                     t         j                  j                  t              } | j	                  d       J | j	                  d      du sJ | j	                  d      du sJ t        j                  t        j                  |             }|j	                  d       J |j	                  d      du sJ |j	                  d      du sJ y )Nr   Fr   T)toolz	functoolzInstancePropertyr   __get__r   r   r   )pp2s     r   test_instancepropertyr*   $   s    ((.A99T?"""99Q<5   99Q<4	fll1o	&B::d###::a=E!!!::a=D   r   c                 
    | |fS N xys     r   r   r   /   s    a4Kr   c                  8   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J  J   | t              d      }t        j                  t        j                  |            } |d       |d      cxk(  rt        dd      k(  sJ  J y )Nr   r   )r   r   r   r$   r%   flipr   )r2   g1g2s      r   	test_flipr5   3   s    <<U__%9%9:;D5??'''''	aB	fll2&	'Ba8r!Qx*1Q7*****	aB	fll2&	'Ba5BqE$Qq!W$$$$$r   c                      t        j                  t        j                  t        j                  j
                              } | t        j                  j
                  u sJ y r,   )r   r   r   r$   curriedmerge)r8   s    r   test_curried_exceptionsr9   >   s;    LLemm&9&9:;EEMM'''''r   c                       e Zd Zd Zej
                  d        Zd Zd Zej
                   G d d             Z	 G d d      Z
y	)
GlobalCurriedc                      || _         || _        y 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    vv"Q&&r   c                      y 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    tvvtvv...r   c                   B    e Zd Zd Zej
                  d        Zd Zd Zy)GlobalCurried.NestedCurriedc                      || _         || _        y r,   r.   r=   s      r   r?   z$GlobalCurried.NestedCurried.__init__W       DFDFr   c                 @    | j                   | j                  z   |z   |z   S r,   r.   rA   s      r   f2zGlobalCurried.NestedCurried.f2[       66DFF?Q&**r   c                      y r,   r-   rF   s    r   r4   zGlobalCurried.NestedCurried.g2_       r   c                 R    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   s*    	 
	+ 
	+		Ar   rS   c                   <    e Zd Zd Zej
                  d        Zd Zy)GlobalCurried.Nestedc                      || _         || _        y 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                      y 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   s$    	 
	+ 
	+	r   r^   N)rT   rU   rV   r?   r$   r   rD   r3   rH   rS   r^   r-   r   r   r;   r;   D   sS     [[' '/ [[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      j                  dd       |d      j                  dd      cxk(  rdk(  sJ  J  |d      }t        j                  t        j                  |            }||usJ |j                  dd      |j                  dd      cxk(  rdk(  sJ  J  |d      j                  d      }t        j                  t        j                  |            }||usJ  |d       |d      cxk(  rdk(  sJ  J t         j                  j                  d      }t        j                  t        j                  |            }||usJ  |d      j	                  dd       |d      j	                  dd      cxk(  rdk(  sJ  J y )Nc                 V    t        j                  t        j                  |             | u S r,   )r   r   r   )objs    r   preserves_identityz1test_curried_qualname.<locals>.preserves_identityu   s    ||FLL-.#55r   r   r   r      
   )
r;   funcrD   rS   rN   r^   r[   r   r   r   )	rb   global_curried1global_curried2global_curried3global_curried4func1func2nested_curried1nested_curried2s	            r   test_curried_qualnamern   s   s2   6 m,,,m0033444m00>>???m00>>CCFFGGGm0077::;;;#A&Oll6<<#@AO/1111  A&/!*<*?*?1*EKKKKKK%a(Oll6<<#@AO/111a#'9'9!Q'?E2EEEEEA!!!$ELLe,-E8uQx%2%%%%%#((66q9Oll6<<#@AO/1111  A&/!*<*?*?1*EKKKKKKr   c                  ~     t         j                   G d d              t        t        j                   fd      sJ y )Nc                       e Zd ZdZy)&test_curried_bad_qualname.<locals>.Badz toolz.functoolz.not.a.valid.pathN)rT   rU   rV   r-   r   r   Badrq      s    9r   rr   c                  .    t        j                         S r,   )r   r   rr   s   r   <lambda>z+test_curried_bad_qualname.<locals>.<lambda>   s    S0A r   )r$   r   r   r   PicklingErrorrt   s   @r   test_curried_bad_qualnamerw      s7    
[[: : : &&&(ABBBr   )r$   toolz.curriedr   toolz.utilsr   r   r   r   r"   r*   r   r5   r9   r   r;   rn   rw   r-   r   r   <module>rz      sg        "4 !%( + + +\LPCr   