o
    !wi                     @   sv   d dl Z d dlZd dlmZmZmZmZmZ d dlmZ d dl	m	Z	 dgZ
edd Zdd	 Ze	d
d Zdd ZdS )    N)curryidentity	keyfilter	valfilter
merge_with)raises)dev_skip_testget_inc                 C   s*   t |ddpd}|| pdtt|v S )N
__module__ ztoolz.functoolz.curry)getattr
startswithstrtype)modnamefuncmod r   Z/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/cytoolz/tests/test_docstrings.py	isfrommod   s   r   c                 C   sP   t | dr| j} | dd} | dd} | dd} | dd	} | d
d} | S )z- Convert docstring from `toolz` to `cytoolz`.__doc__toolzcytoolzdictcytoolz	dicttoolzfunccytoolz	functoolzitercytoolz	itertoolzzcytoolz.readthedocsztoolz.readthedocs)hasattrr   replace)docr   r   r   
convertdoc   s   
r"   c            
         sp  dd l } t }ttd| jttdtj tdd t fddtfdd  tt	 }|
 D ]z\\}}dd	d
 t| D }ddd
 |j D }||vrt|| | }t|}|r|d dr|d |r|d dsy|r|d dr|  |r|d dsfdd}	tt|	|rJ dd|f q;d S )Nr   r   r   c                 S   s   t | ddS )Nr   r   )r   xr   r   r   <lambda>+   s    z*test_docstrings_uptodate.<locals>.<lambda>c                       |  v S Nr   r#   )cytoolz_dictr   r   r%   .       c                    r&   r'   r   r#   )
toolz_dictr   r   r%   /   r)   
c                 s       | ]}|  V  qd S r'   strip.0liner   r   r   	<genexpr>6       z+test_docstrings_uptodate.<locals>.<genexpr>c                 s   r,   r'   r-   r/   r   r   r   r2   7   r3   +c                    s   |  dod| v o tv  S )Nr4   z# doctest: +SKIP)r   skipped_doctests)r1   )keyr   r   checkbadC   s
   
z*test_docstrings_uptodate.<locals>.checkbadFz*Error: cytoolz.%s has a bad docstring:
%s
)r   difflibDifferr   r   __dict__r   r   r   r   itemsjoinr"   
splitlinesr   listcomparer   popanymap)
r   differd
toolz_funccytoolz_func	toolz_doccytoolz_docdifffulldiffr8   r   )r(   r7   r*   r   test_docstrings_uptodate!   s:   

rL   c                   C   s   t tdd  d S )Nc                   S   s   t jdgi ddS )NyT)
no_default)r   r	   r   r   r   r   r%   W   s    z%test_get_in_doctest.<locals>.<lambda>)r   KeyErrorr   r   r   r   test_get_in_doctestM   s   
rP   )r9   r   r   r   r   r   r   cytoolz.utilsr   r   r6   r   r"   rL   rP   r   r   r   r   <module>   s    

+