o
    Nrf                     @   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   f/var/www/html/software/conda/envs/catlas/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cytoolzZdictcytoolzZ	dicttoolzZfunccytoolzZ	functoolzZitercytoolzZ	itertoolzzcytoolz.readthedocsztoolz.readthedocs)hasattrr   replace)docr   r   r   
convertdoc   s   
r   c            
         sH  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 ]f\\}}t|}|j}||vrt|| | }t|}|rs|d drs|d |rs|d dse|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   |  dod| v o tv  S )Nr%   z# doctest: +SKIP)r   skipped_doctests)line)keyr   r   checkbadA   s
   
z*test_docstrings_uptodate.<locals>.checkbadFz*Error: cytoolz.%s has a bad docstring:
%s

)r   difflibZDifferr   r   __dict__r   r   r   r   itemsr   r   listcompare
splitlinesr   popanymapjoin)
r   ZdifferdZ
toolz_funcZcytoolz_funcZ	toolz_docZcytoolz_docdiffZfulldiffr*   r   )r"   r)   r$   r   test_docstrings_uptodate!   s:   

r8   c                   C   s   t tdd  d S )Nc                   S   s   t jdgi ddS )NyT)Z
no_default)r   r	   r   r   r   r   r   U   s    z%test_get_in_doctest.<locals>.<lambda>)r   KeyErrorr   r   r   r   test_get_in_doctestK   s   
r;   )r,   r   r   r   r   r   r   Zcytoolz.utilsr   r   r'   r   r   r8   r;   r   r   r   r   <module>   s    

)