o
    N+ i%                     @   s  d dl Z d dlZd dlZd dlmZ d dlmZmZm	Z	m
Z
 ejjdejg dddejg dddfejd	d
ejd
ejgddejd
d	ejgddfejg dedejg dedfejg dedejg dedfeg deg dfgg dddd Zdd Zdd Zejdeg deg ddgg dfeg deg ddgg dfed	d
ejgeg dejgg dfed	d
dejged	d d
ejgdgg dfed	d
dejgeg ddejgg d!feg ded	d d
ejgdgg dfejg d"edejg dedejd#gedg dfejg d$edejg d%edejd#gedg d&feg d"eg ded#gg dfeg d$eg d%ed#gg d&fg
d'd( Zejd)dejed*gejd+d,d-gd.d/ Zejd)ejded*gejd+d,d-gd0d1 Zd2d3 Zd4d5 Zd6d7 Zejd8ed
gd9 d	gd  d:gd;  eg dg d<fed
gd9 d	gd  d:gd;  eg d=g d>feejgd9 d	gd  d:gd;  ed	d:ejgg d?fejd@gd dAgdB  dCgdD  edg dg dEfejd@gd dAgdB  dCgdD  edg dFg dGfejejgd dAgdB  dCgdD  eddCejdAgg dGfejd@gd dAgdB  dCgdD  edg dHg dIfgdJdK ZdS )L    N)assert_array_equal)_check_unknown_encode_get_counts_uniquezvalues, expected)         r   r	   int64Zdtyper   r   r	   r   r   Zfloat32)bacr   r   r   r   r   )r   r   Nr   N)r   r   N)r
   zfloat32-nanobjectzobject-Nonestr)idsc                 C   s   t | }t|| t | dd\}}t|| t|tg d t| |d}t|tg d t | dd\}}t|| t|tg d t | ddd\}}}t|| t|tg d t|tg d d S )NTreturn_inverse)r   r   r   r   r   uniques)return_counts)r   r   r   )r   r   )r   r   nparrayr   )valuesexpectedr   resultencodedcounts r    k/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/sklearn/utils/tests/test_encode.pytest_encode_util
   s   



r"   c                  C   s   t g d} t g d}tjtdd t|| dd W d    n1 s'w   Y  t|| dd t jg dtd	} t jg d
td	}tjtdd t|| dd W d    d S 1 s_w   Y  d S )Nr   r   r   r	      z#y contains previously unseen labels)matchT)r   Zcheck_unknownFr   r   r   r   r   d)r   r   pytestZraises
ValueErrorr   r   )r   r   r    r    r!   test_encode_with_check_unknown3   s   "r*   c                 C   s>   t | |}t|| t | |dd\}}t|| t|| d S )NT)return_mask)r   r   )r   r   expected_diffexpected_maskdiff
valid_maskr    r    r!   _assert_check_unknownF   s
   


r0   z-values, uniques, expected_diff, expected_maskr#   r$   )TTTF)r   r   r$      )r   r1   r   )TTFT)TTFr1   )TTFFr&   r'   )r'   r   r   r   )r   r   r   )FTTTc                 C   s   t | ||| d S N)r0   )r   r   r,   r-   r    r    r!   test_check_unknownO   s   3r3   missing_valuenanpickle_uniquesTFc                 C   s  t jdddd| gtd}t jddd| gtd}|r!tt|}dg}g d}t|||| t jdddd| gtd}t jg dtd}|rNtt|}d| g}g d}t|||| t jd| gtd}t jg d	td}|rytt|}| g}d
dg}t|||| d S )Nr'   r   r   r   r   )FTTTT)r   r   r   )FTTTF)r   r   zTF)r   r   r   pickleloadsdumpsr0   )r4   r6   r   r   r,   r-   r    r    r!   !test_check_unknown_missing_values   s*   r;   c                 C   s   t jddd| dgtd}t jddd| gtd}t|}| d u r%t|| nt|d d |d d  t |d s;J |rEtt|}t	||d}t|t g d d S )Nr   r   r   r   r   )r   r   r   r	   r   )
r   r   r   r   r   isnanr8   r9   r:   r   )r4   r6   r   expected_uniquesr   r   r    r    r!   'test_unique_util_missing_values_objects   s   r?   c                  C   s   t jddt jddt jgtd} t jdddt jgtd}t g d}t| }t|| t| dd\}}t|| t|| t| |d}t|| d S )	Nr	   r   r1   r   )r   r   r	   r   r   r	   Tr   r   )r   r   r5   floatr   r   r   )r   r>   expected_inverser   inverser   r    r    r!   'test_unique_util_missing_values_numeric   s   


rC   c                  C   sx   t jt jdddd tdd gtd} t| }t|d d g d t |d s)J g d}t| dd	\}}t|| d S )
Nr   r   r5   r   r<   )r   r   N)r	   r   r   r   r   r	   r   Tr   )r   r   r5   r@   r   r   r   r=   )r   r   rA   _rB   r    r    r!   (test_unique_util_with_all_missing_values   s   "rE   c                  C   s   t jt jdddd t jd gtd} t| t jddgtdd}|d d u s%J t |d s.J t| t jddgtddd\}}|d d u sFJ t |d sOJ t|g d	 d S )
Nr   r   r   )known_valuesr   r   T)rF   r+   )FTTTFFF)r   r   r5   r   r   r=   r   )r   r.   r/   r    r    r!   +test_check_unknown_with_both_missing_values   s    
rG   z values, uniques, expected_counts
   r	      )rH   r$   rI   )r   r   r	   r1   )rH   r$   rI   r   )r$   rI   rH   r   r      r      )rJ   r$   rK   )r   r   r   )rK   r$   rJ   )r   r   r   e)rJ   r$   rK   r   c                 C   s   t | |}t|| d S r2   )r   r   )r   r   Zexpected_countsr   r    r    r!   test_get_counts   s   
%rM   )r8   numpyr   r(   Znumpy.testingr   Zsklearn.utils._encoder   r   r   r   markZparametrizer   r5   r   r"   r*   r0   r3   r@   r;   r?   rC   rE   rG   rM   r    r    r    r!   <module>   s    "
	$$*


26"$&&(
&$