a
    �ù»jŒ	  ã                   @   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©Z
some_ranger   úGE:\soccer\ml_env\Lib\site-packages\sklearn/utils/tests/test_chunking.pyÚ
<listcomp>   ó    z(test_gen_even_slices.<locals>.<listcomp>é   )ÚrangeÚlistr   r   r   )Z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 s80    Y  ||ksNJ ‚t|ƒt|ƒu sbJ ‚t|d��p t  ¡ �( t  dt¡ t| |d�}W d   ƒ n1 s¤0    Y  ||ksºJ ‚t|ƒt|ƒu sÎJ ‚W d   ƒ n1 sâ0    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 sF0    Y  ||ks\J ‚t|ƒt|ƒu spJ ‚t|d��j t jt|d�� t| |d�}W d  ƒ n1 s¬0    Y  ||ksÂJ ‚t|ƒt|ƒu sÖJ ‚W d  ƒ n1 sê0    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    )ÚpytestZwarnsr$   r   r%   r   )r   r   r   r   Zwarn_msgr&   r   r   r   Útest_get_chunk_n_rows_warns1   s&    ÿý$*r*   )r!   Ú	itertoolsr   r)   Zsklearnr   Zsklearn.utils._chunkingr   r   Zsklearn.utils._testingr   r   ÚmarkZparametrizer'   r*   r   r   r   r   Ú<module>   s   þ
