o
    Si                     @   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   Q/home/ubuntu/.local/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|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&   0   r*   
c                 s       | ]}|  V  qd S r(   strip.0liner   r   r   	<genexpr>7       z+test_docstrings_uptodate.<locals>.<genexpr>c                 s   r-   r(   r.   r0   r   r   r   r3   8   r4   +c                    s   |  dod| v o tv  S )Nr5   z# doctest: +SKIP)r   skipped_doctests)r2   )keyr   r   checkbadD   s
   
z*test_docstrings_uptodate.<locals>.checkbadFz*Error: cytoolz.{} has a bad docstring:
{}
)r   difflibDifferr   r   __dict__r   r   r   r   itemsjoinr#   
splitlinesr   listcomparer   popanymapformat)
r   differd
toolz_funccytoolz_func	toolz_doccytoolz_docdifffulldiffr9   r   )r)   r8   r+   r   test_docstrings_uptodate"   s:   

rN   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&   X   s    z%test_get_in_doctest.<locals>.<lambda>)r   KeyErrorr   r   r   r   test_get_in_doctestN   s   
rR   )r:   r   r   r   r   r   r   cytoolz.utilsr   r	   r7   r   r#   rN   rR   r   r   r   r   <module>   s    

+