a
     dG                     @   s  d dl Z d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
 d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1 d dl2m3Z3m4Z4 e
e	d	Z5d
d Z6dd Z7dd Z8dd Z9dd Z:dd Z;dd Z<dd Z=dd Z>dd Z?dd Z@d d! ZAd"d# ZBd$d% ZCd&d' ZDd(d) ZEd*d+ ZFd,d- ZGd.d/ ZHd0d1 ZId2d3 ZJd4d5 ZKd6d7 ZLd8d9 ZMd:d; ZNd<d= ZOd>d? ZPd@dA ZQdBdC ZRdDdE ZSdFdG ZTdHdI ZUdJdK ZVdLdM ZWdNdO ZXdPdQ ZYdRdS ZZdTdU Z[dVdW Z\dXdY Z]dZd[ Z^d\d] Z_d^d_ Z`d`da Zadbdc Zbddde Zcdfdg Zddhdi Zedjdk Zfdldm Zgdndo Zhdpdq Zidrds Zjdtdu Zkdvdw ZldS )x    N)starmap)raises)partial)Random)dumpsloads)&removegroupbymerge_sortedconcatconcatv
interleaveunique
isiterablegettermapcat
isdistinctfirstsecondnthtaketaildrop	interposegetrestlastconsfrequenciesreducebyiterate
accumulatesliding_windowcount	partitionpartition_alltake_nthpluckjoindifftopkpeekpeeknrandom_sample)addmulZ__no__default__c                 C   s   | S N xr1   r1   c/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/toolz/tests/test_itertoolz.pyidentity   s    r5   c                 C   s   | d dkS N   r   r1   r2   r1   r1   r4   iseven   s    r8   c                 C   s   | d dkS )Nr7      r1   r2   r1   r1   r4   isodd    s    r:   c                 C   s   | d S Nr9   r1   r2   r1   r1   r4   inc$   s    r<   c                 C   s   d|  S )Nr7   r1   r2   r1   r1   r4   double(   s    r=   c                  C   s@   t ttd} t| tusJ t| ttttdks<J d S )N   )r   r8   rangetypelistfilterr:   )rr1   r1   r4   test_remove,   s    rD   c                   C   s(   t tg dddgddgdks$J d S )Nr9   r7         r7   rG   r9   rF   TF)r	   r8   r1   r1   r1   r4   test_groupby2   s    rI   c                   C   sv   t dg dddgddgdks$J t dgg dddgddgdksJJ t ddgg dddgddgdksrJ d S )	Nr   )r9   r7   r9   rF   r7   r7   r7   rG   rJ   rK   rL   rM   ))r9   r7   ))r9   r9   rL   )r	   r1   r1   r1   r4   test_groupby_non_callable6   s    rO   c                  C   s^  t tg dg dg dks"J t tg dg dg dksDJ t tdgddgd	gg g d
ksjJ t tg dg dg dd dg dksJ t tg dg ddd dg dksJ t tdd	gdd	gdd dg dksJ dtddddksJ dtdddtddks&J dtddddd ddksJJ t tdgg dtdg d
kspJ g dg dg dg} t t| d d!d ig d"ksJ t t g ksJ t tg dg dksJ t tg d#dd	gg d$ks J t tg d#dd	gtdg d$ks(J t tdd%gdgdd&gd	d'gtdg d(ksZJ d S ))Nr9   r7   rF   )r9   r9   r7   r7   rF   rF   )r9   rF   r>   )r7   rG      r9   r7   rF   rG   r>   rQ   r9   r7   rG   rF   rE   )r>   rF   r9   )rQ   rG   rF   c                 S   s   |  S r0   r1   r2   r1   r1   r4   <lambda>I       z#test_merge_sorted.<locals>.<lambda>key)rQ   r>   rG   rF   rF   r9   )r7   r9   rF   c                 S   s   | d S NrF   r1   r2   r1   r1   r4   rS   K   rT   )r7   r9   r9   r7   rF   rF   c                 S   s   | d S rW   r1   r2   r1   r1   r4   rS   M   rT   )r7   r9   rF   rF    abcZ	aaabbbcccZcbac                 S   s
   t |  S r0   )ordr2   r1   r1   r4   rS   Q   rT   Z	cccbbbaaar7   rF   rG   )rJ   r   rG   rF   rQ   )r>   rF   rQ   r>      ra   )	   r9   rc   ra   rc   rc   rV   c                 S   s   | d S r;   r1   r2   r1   r1   r4   rS   V   rT   )	rb   rJ   r^   r\   r_   r]   r`   rd   re   )r9   rG   r>   r9   r7   rF   rG   r>   r>      rQ   )r9   r7   rF   rG   r>   rQ   rg   )rA   r
   r(   rZ   r5   datar1   r1   r4   test_merge_sortedD   sF    ""& 
&$$(rj   c                   C   s0   d tddksJ d tddks,J d S )NrX   )ABCZ123ZA1B2C3)rk   1ZA1BC)r(   r   r1   r1   r1   r4   test_interleavea   s    rm   c                   C   sD   t tddksJ t tddks(J t tdtddks@J d S )NrP   )r9   r7   r9   rF   rU   rJ   )tupler   r8   r1   r1   r1   r4   test_uniquef   s    ro   c                   C   s8   t g ddu sJ t ddu s$J t ddu s4J d S )NrP   TrY   r>   F)r   r1   r1   r1   r4   test_isiterablel   s    rp   c                   C   s|   t g ddu sJ t g ddu s(J t ddu s8J t ddu sHJ t tg ddu s`J t tg ddu sxJ d S )NrP   T)r9   r7   r9   FZHelloZWorld)r   iterr1   r1   r1   r4   test_isdistinctr   s    rr   c                   C   s   t dddksJ t dtddks(J t dddks:J t dddidksPJ ttd	d
 sbJ t dddkstJ ttdd
 sJ d S )Nr7   ABCDECr9   rF   r7   r9   r   foobarc                   S   s   t dddiS )N
   rv   )r   r1   r1   r1   r4   rS      rT   ztest_nth.<locals>.<lambda>Dc                   S   s   t dtdS )Nry   rs   )r   rq   r1   r1   r1   r4   rS      rT   )r   rq   r   StopIteration
ValueErrorr1   r1   r1   r4   test_nth}   s    r}   c                   C   s<   t ddksJ t ddks J tt dddts8J d S )Nrs   Aru   rF   zerooner   r9   )r   
isinstanceintr1   r1   r1   r4   
test_first   s    r   c                   C   s<   t ddksJ t ddks J tt dddts8J d S )Nrs   Bru   r7   r   r   r   )r   r   r   r1   r1   r1   r4   test_second   s    r   c                   C   s<   t ddksJ t ddks J tt dddts8J d S )Nrs   Eru   r9   r   r   r   )r   r   r   r1   r1   r1   r4   	test_last   s    r   c                   C   s4   t tdt dksJ t tdt dks0J d S )Nrs   ZBCDEru   r7   r9   )rA   r   r1   r1   r1   r4   	test_rest   s    r   c                   C   s8   t tddt dksJ t tddt dks4J d S )NrF   rs   rk   r7   ru   )rF   r7   )rA   r   r1   r1   r1   r4   	test_take   s    r   c                   C   sV   t tddt dksJ t tdtdt dks8J t tddt dksRJ d S )NrF   rs   ZCDEr7   ru   r   )rA   r   rq   r1   r1   r1   r4   	test_tail   s    r   c                   C   s8   t tddt dksJ t tddt dks4J d S )NrF   rs   ZDEr9   ru   r   )rA   r   r1   r1   r1   r4   	test_drop   s    r   c                   C   s   t tddt dksJ d S )Nr7   rs   ZACE)rA   r&   r1   r1   r1   r4   test_take_nth   s    r   c                   C   s:  t dddksJ tt ddgdtdks0J t ddddddksJJ t dd	gddddd
kshJ t di dddks~J t i g ddddksJ t ddgdddksJ t dgddksJ t g ddksJ ttdd sJ ttdd sJ ttdd sJ ttdd s"J ttdd s6J d S )Nr9   rs   r   rF   ZBDar7   r   bcr   rJ   rv   rw   defaultrP   r   ZABrt   )r~   rt   r~   r1   c                   S   s
   t ddS )Nrx   rk   r   r1   r1   r1   r4   rS      rT   ztest_get.<locals>.<lambda>c                   S   s   t dddiS )Nrx   r   r9   r   r1   r1   r1   r4   rS      rT   c                   S   s   t i g dS )NrP   r   r1   r1   r1   r4   rS      rT   c                   S   s   t g ddd S )NrP   r9   r   r1   r1   r1   r4   rS      rT   c                   S   s   t di tdS )Nrv   r   )r   no_default2r1   r1   r1   r4   rS      rT   )r   rA   r   
IndexErrorKeyError	TypeErrorr1   r1   r1   r4   test_get   s    r   c                  C   s   t ttg dg dgg dks&J t ttg dg dg dgt tdksVJ dd	 } g d
t ttt| g dg dgksJ d S )NrP   )rG   r>   rQ   rR   )rF   r7   r9   r   )rQ   r>   rG   )rc   ra   rg   rx   c                 S   s   | d S r;   r1   )ir1   r1   r4   rS      rT   ztest_mapcat.<locals>.<lambda>)rG   r>   rQ   rg   ra   rc   rF   rG   r>   )rQ   rg   ra   )rA   r   r5   reversedr?   r   map)r<   r1   r1   r4   test_mapcat   s    
r   c                   C   s"   t tdddgg dksJ d S )Nr9   r7   rF   rP   )rA   r   r1   r1   r1   r4   	test_cons   s    r   c                   C   sH   t tg g g gg ksJ t tdtddgtdgg dksDJ d S Nr>   r   r    ʚ;)r   r   r   r9   r7   )rA   r   r   r?   r1   r1   r1   r4   test_concat   s    r   c                   C   sD   t tg g g g ksJ t tdtddgtdg dks@J d S r   )rA   r   r   r?   r1   r1   r1   r4   test_concatv   s    r   c                   C   sz   dt ttdtdksJ ddtddks6J ttdtdd	g d
ksXJ ttdg dg dksvJ d S )Nr   r   ZtXaXrXzXaXnrX   XZtarzanr   r9   rG   )r9   r   r9   r   r9   r   r9   .r   )r   r   r   r   r   )r   r   r   r?   r(   rA   	itertoolsrepeatr1   r1   r1   r4   test_interpose   s    "r   c                
   C   sT   t g ddddddksJ t g i ks.J t ddddddddddksPJ d S )	N)catpigr   eelr   dogr   r   r7   r9   rF   )r   r   r   r   ZonomatopoeiarG   )r   er   monpt)r   r1   r1   r1   r4   test_frequencies   s    
r   c                  C   s   g d} dd }t |t| ddddks,J t |t| dd	d
dksHJ ddddddddddddddddg}t dd dd |ddddksJ t ddd |ddddksJ d S )Nrf   c                 S   s   | d dkS r6   r1   r2   r1   r1   r4   rS      rT   ztest_reduceby.<locals>.<lambda>r   rc   rQ   )FTr9      ra   zbuild roadsCAi@B )namestatecostzfight crimeILi zhelp farmersi i@ c                 S   s   | d S )Nr   r1   r2   r1   r1   r4   rS      rT   c                 S   s   | |d  S Nr   r1   accr3   r1   r1   r4   rS      rT   iO i   )r   r   r   c                 S   s   | |d  S r   r1   r   r1   r1   r4   rS     rT   )r   r.   r/   )ri   r8   Zprojectsr1   r1   r4   test_reduceby   s*    



r   c                   C   sB   t ttg ddddksJ t ttg dtdddks>J d S )NrE   rQ   rG   rH   )r   r8   r.   r   r1   r1   r1   r4   test_reduce_by_init  s    r   c                  C   s4   dd } t t| g dtddhddhdks0J d S )	Nc                 S   s   |  | | S r0   )r.   )sr   r1   r1   r4   set_add  s    
z0test_reduce_by_callable_default.<locals>.set_add)r9   r7   rF   rG   r9   r7   r7   rG   r9   rF   rH   )r   r8   set)r   r1   r1   r4   test_reduce_by_callable_default  s    r   c                   C   sH   t tttdddg dks$J t tdttdg dksDJ d S )Nr   r>   )r   r9   r7   rF   rG   rG   r9   )r9   r7   rG   ra   )rA   r   islicer    r<   r   r=   r1   r1   r1   r4   test_iterate  s    $r   c                  C   s   t ttg dg dksJ t ttg dg dks<J t ttg ddg dks\J dd } t }t t| g ||gksJ t t| g g ksJ t ttg dtg d	ksJ d S )
Nrf   )r9   rF   rQ   rx   r   )r9   r7   rQ      x   )r   r   r7   r>   rc      c                 S   s   t dd S )Nzbinop should not be called)AssertionErrorr   r   r1   r1   r4   binop  s    ztest_accumulate.<locals>.binoprP   r9   rF   rQ   )rA   r!   r.   r/   objectr   )r   startr1   r1   r4   test_accumulate  s     r   c                   C   s"   t tttdg dksJ d S )NrP   r   )rA   r!   r.   rq   r1   r1   r1   r4   -test_accumulate_works_on_consumable_iterables'  s    r   c                   C   s@   t tdg dg dksJ t tdg dddgks<J d S )Nr7   rE   )rJ   r7   rF   rF   rG   rF   rP   r[   rA   r"   r1   r1   r1   r4   test_sliding_window+  s    r   c                   C   s8   t tdddgg ksJ t tdddgg ks4J d S )NrF   r9   r7   rg   r   r1   r1   r1   r4   %test_sliding_window_of_short_iterator0  s    r   c                   C   sx   t tdg dddgksJ t tdtdddgks<J t tdtd	d
dddgks^J t tdg g kstJ d S )Nr7   rE   rJ   r   rF   rg   r   r9   r7   r   rG   r   )pad)rF   r   r   )rA   r$   r?   r1   r1   r1   r4   test_partition5  s    
r   c                  C   s   t tdg dddgksJ t tdtdddgks<J t tdg g ksRJ G dd	 d	t} |  }||||f|||fg}t td
|gd |ksJ t td
t|gd |ksJ d S )Nr7   rE   rJ   r   rF   r>   r   c                   @   s   e Zd Zdd ZdS )z%test_partition_all.<locals>.NoComparec                 S   s   | j |j krdS t d S )NT)	__class__r|   )selfotherr1   r1   r4   __eq__D  s    z,test_partition_all.<locals>.NoCompare.__eq__N)__name__
__module____qualname__r   r1   r1   r1   r4   	NoCompareC  s   r   rG   rg   )rA   r%   r?   r   rq   )r   objresultr1   r1   r4   test_partition_all=  s    r   c                   C   s\   t ddksJ t g dks J t tddks4J t ddksDJ t tddksXJ d S )NrP   rF   r   rE   rG   Zhellor>   )r#   rq   r1   r1   r1   r4   
test_countN  s
    r   c                  C   s  t tdddgddgddggg dks,J t tddgg dg d	gd
dgksVJ t tddgddggd d dgks|J dddddddg} t td| ddgksJ t td| dddgksJ t tddg| ddgksJ t tdg| ddgksJ t tddg| dddgks&J ttdd s:J ttdd sNJ t tdddgddgddggtg dks~J ttdd sJ d S )Nr   r9   r7   rF   rG   r>   )r   r7   rG   r   r   r   r   cheese)idr   pies)r   r   pricer   r   r   )r9   r   )r7   r   )r   )r   r   )r   r   )r9   r   c                   S   s   t tddggS Nr9   r   rA   r'   r1   r1   r1   r4   rS   c  rT   ztest_pluck.<locals>.<lambda>c                   S   s   t tdddigS )Nr   r   r9   r   r1   r1   r1   r4   rS   d  rT   c                   S   s   t tddggtS r   )rA   r'   r   r1   r1   r1   r4   rS   g  rT   )rA   r'   r   r   r   r   rh   r1   r1   r4   
test_pluckW  s    ,*&"0r   c                  C   sr   g d} g d}dd }t tttt| t|}h d}||ksDJ t tttt| t|ttd}||ksnJ d S )Nr9   r   r7   tworF   Zthree)appler9   oranger9   )bananar7   )coconutr7   c                 S   s   | d | d  S Nr   r9   r1   )pairr1   r1   r4   addpairn  s    ztest_join.<locals>.addpair>   r9   r   r   r9   r7   r   r   r7   r7   r   r   r7   r9   r   r   r9   left_defaultright_default)r   r   r.   r(   r   r   r   )namesfruitr   r   expectedr1   r1   r4   	test_joinj  s    
r  c                   C   sB   t dddksJ t dgddks*J t g ddks>J d S )Nr   Alicer~   r   r1   )r   r1   r1   r1   r4   test_getter  s    r  c                  C   s   dd t dD } dd t dD }ttd| d|ttdd | dd |ksTJ d	d }ttdd
g| dd
g|tt|| ||ksJ dd }ttdg| dg|tt|| ||ksJ d S )Nc                 S   s   g | ]}||d  fqS rN   r1   .0r   r1   r1   r4   
<listcomp>  rT   z&test_key_as_getter.<locals>.<listcomp>r>   c                 S   s   g | ]}||d  |d fqS r   r1   r	  r1   r1   r4   r    rT   r   c                 S   s   | d S Nr   r1   r2   r1   r1   r4   rS     rT   z$test_key_as_getter.<locals>.<lambda>c                 S   s   | d S r  r1   r2   r1   r1   r4   rS     rT   c                 S   s   | d | d fS r   r1   r2   r1   r1   r4   rS     rT   r9   c                 S   s
   | d fS r  r1   r2   r1   r1   r4   rS     rT   )r?   r   r(   )ZsquaresZpowsr   r1   r1   r4   test_key_as_getter  s     r  c                  C   s@   g d} g d}t tttt| t|}h d}||ks<J d S )N)r   r   r   )r9   uno)r7   dosr   >   )r9   r  r   r9   r   )r7   r  r   r7   )r9   r  r   r9   r   )r7   r  r   r7   r   r   r   r   r.   r(   r   r   r  r  r   r  r1   r1   r4   test_join_double_repeats  s
    	r  c                  C   s>   g d} ddg}t tttt| t|}dh}||ks:J d S )Nr   )r   r>   r   r   r  r  r1   r1   r4   test_join_missing_element  s
    r  c                  C   s6   t ttddgtddgd d} ddh}| |ks2J d S )Nr9   r7   rF   )r  rL   rW   r   r(   r5   r   r  r1   r1   r4   test_left_outer_join  s    r  c                  C   s6   t ttddgtddgd d} ddh}| |ks2J d S )Nr9   r7   rF   )r  rL   r9   Nr  r  r1   r1   r4   test_right_outer_join  s    r  c               	   C   s8   t ttddgtddgd d d} h d}| |ks4J d S )Nr9   r7   rF   r   >   r  rW   rL   r  r  r1   r1   r4   test_outer_join  s
    r  c                     s  t tdd sJ t tdd s$J t tdd s6J ttddgdtddgg ksZJ ttg dd	tg d
ddgksJ ttddgdgdgksJ ttddgdgd dddgksJ t tdd sJ t tdd sJ t tdd sJ t tdd sJ ttddgdgks*J ddddddg} ddddddg}ddd  fdd}tt| ||d ddddddfgk d S )!Nc                   S   s
   t t S r0   rA   r)   r1   r1   r1   r4   rS     rT   ztest_diff.<locals>.<lambda>c                   S   s   t tddgS Nr9   r7   r  r1   r1   r1   r4   rS     rT   c                   S   s   t tddgdS Nr9   r7   rF   r  r1   r1   r1   r4   rS     rT   r9   r7   rJ   rP   )r9   rx   rF   )r9   r7   rx   )r7   rx   r7   )rF   rF   rx   rx   )r9   rx   r   )r7   Nc                   S   s   t tg S r0   r  r1   r1   r1   r4   rS     rT   c                   S   s   t tg gS r0   r  r1   r1   r1   r4   rS     rT   c                   S   s   t tddggS r  r  r1   r1   r1   r4   rS     rT   c                   S   s   t tddgdgS r  r  r1   r1   r1   r4   rS     rT   rK   r   dollar)r   currencyd   yeni,  g{Gz?)r  r   c                    s    | d  | d  S )Nr  r   r1   )itemZconversionsr1   r4   	indollars  s    ztest_diff.<locals>.indollarsrU   )r   r   rA   r)   rq   )Zdata1Zdata2r#  r1   r"  r4   	test_diff  s2    $
$
r$  c                   C   s   t dg ddksJ t dg ddd ddks4J t dtg dd	d ddksVJ t dd
ddddddd
ddddgdddd
ddddfksJ t dd
ddddddd
ddddgddd
dddddfksJ t dg dddksJ d S )Nr7   )rG   r9   r>   r7   )r>   rG   c                 S   s   |  S r0   r1   r2   r1   r1   r4   rS     rT   ztest_topk.<locals>.<lambda>rU   rJ   )r>   r9   rG   r7   c                 S   s   |  S r0   r1   r2   r1   r1   r4   rS     rT   r9   rx   r   rc   r   r   )r\   rK   rL   rF   r9   rG   r   r   )r&  r%  )r*   rq   r1   r1   r1   r4   	test_topk  s(    "r'  c                   C   s"   t dg ddd ddksJ d S )NrG   )r>   rc   r7   r9   r>   rF   c                 S   s   dS r;   r1   r2   r1   r1   r4   rS     rT   z%test_topk_is_stable.<locals>.<lambda>rU   )r>   rc   r7   r9   )r*   r1   r1   r1   r4   test_topk_is_stable  s    r(  c                  C   sJ   g d} t | \}}|| d ks$J t|| ks4J ttdd sFJ d S )Nr  ZBobZCarolr   c                   S   s   t g S r0   )r+   r1   r1   r1   r4   rS     rT   ztest_peek.<locals>.<lambda>)r+   rA   r   r{   )alistelementblistr1   r1   r4   	test_peek  s
    r-  c                  C   sl   d} t d| \}}|| d d ks&J t|| ks6J t t| d | \}}|| ksXJ t|| kshJ d S )Nr)  r7   rG   )r,   rn   len)r*  elementsr,  r1   r1   r4   
test_peekn  s    r0  c                     s   t td t td dd ks&J d fdd	 } |  ksHJ d}td}||kshJ | |kstJ ttttksJ tttt ksJ dd	ksJ ttfd
dsJ d S )Nr  r9   i  ZprobseqZrandom_statec                    s   t td | dS )Ng?r1  )rA   r-   )rs)r*  r1   r4   rS     s   z$test_random_sample.<locals>.<lambda>i     ar   c                      s    g S r0   r1   r1   )
mk_rsampler1   r4   rS   %  rT   )r9   )rA   r?   r-   r   hashr   r   r   )Zrsample1Zrsample2Zrandobjr1   )r*  r5  r4   test_random_sample  s    r7  )mr   r   Ztoolz.utilsr   	functoolsr   randomr   pickler   r   Ztoolz.itertoolzr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   operatorr.   r/   r   r5   r8   r:   r<   r=   rD   rI   rO   rj   rm   ro   rp   rr   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r$  r'  r(  r-  r0  r7  r1   r1   r1   r4   <module>   s~   

				