o
    ?HhC	                     @   sr   d dl Z d dlmZ d dlZd dlmZ d dlmZmZ d dl	m
Z
 dd Zejdg d	d
d Zdd ZdS )    N)chain)config_context)gen_even_slicesget_chunk_n_rows)assert_array_equalc                     s6   t d tt fddtddD  } t |  d S )N
   c                    s   g | ]} | qS  r   ).0slice
some_ranger   a/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/sklearn/utils/tests/test_chunking.py
<listcomp>   s    z(test_gen_even_slices.<locals>.<listcomp>   )rangelistr   r   r   )joined_ranger   r   r   test_gen_even_slices   s    r   )	row_bytes
max_n_rowsworking_memoryexpected))   N   r   )r   NgG?  )r   Nr     )r   Nr   r   )r   N   i   )r      r   r   )i   Nr   r   c              	   C   s   t   t dt t| ||d}W d    n1 sw   Y  ||ks'J t|t|u s1J t|d9 t   t dt t| |d}W d    n1 sRw   Y  ||ks]J t|t|u sgJ W d    d S 1 srw   Y  d S )Nerrorr   r   r   r   r   r   )warningscatch_warningssimplefilterUserWarningr   typer   )r   r   r   r   actualr   r   r   test_get_chunk_n_rows   s$   

"r(   c               	   C   s   d} d}d}d}d}t jt|d t| ||d}W d   n1 s#w   Y  ||ks.J t|t|u s8J t|d6 t jt|d t| |d}W d   n1 sVw   Y  ||ksaJ t|t|u skJ W d   dS 1 svw   Y  dS )	z<Check that warning is raised when working_memory is too low.i  Nr   zICould not adhere to working_memory config. Currently 1MiB, 2MiB required.)matchr   r    r!   )pytestwarnsr%   r   r&   r   )r   r   r   r   warn_msgr'   r   r   r   test_get_chunk_n_rows_warns1   s,   "r-   )r"   	itertoolsr   r*   sklearnr   sklearn.utils._chunkingr   r   sklearn.utils._testingr   r   markparametrizer(   r-   r   r   r   r   <module>   s    
