U
    3‰d@  ã                   @   sx   d dl Zd dlZd dlmZmZ d dlmZ dd„ Zdd„ Z	ej
 dee	g¡ej
 d	ejejejejg¡d
d„ ƒƒZdS )é    N)ÚReadonlyArrayWrapperÚ	_test_sum©Úcreate_memmap_backed_datac                 C   s   |   ¡ }d|jd< |S )z4Return a copy of x with flag writeable set to False.FZ	WRITEABLE)ÚcopyÚflags)ÚxÚy© r
   úM/tmp/pip-unpacked-wheel-zrfo1fqw/sklearn/utils/tests/test_readonly_wrapper.pyÚ_readonly_array_copy	   s    
r   c                 C   s   t | ddddS )NÚrFT)Z	mmap_modeZreturn_folderZalignedr   )Údatar
   r
   r   Ú_create_memmap_backed_data   s       ÿr   ÚreadonlyÚdtypec              	   C   sŽ   t  d¡ |¡}t|ƒ}tt|ƒƒ}|tj|ddks:t‚| |ƒ}tjt	dd t|ƒ W 5 Q R X t|ƒ}t|ƒ}|tj|ddksŠt‚dS )z:Test that ReadonlyWrapper allows working with fused-typed.é
   g•dyáý¥=)Úrelz buffer source array is read-only)ÚmatchN)
ÚnpZarangeZastyper   r   ÚpytestZapproxÚAssertionErrorZraisesÚ
ValueError)r   r   r   Z
sum_originZsum_writableZ
x_readonlyZsum_readonlyr
   r
   r   Útest_readonly_array_wrapper   s    r   )Znumpyr   r   Z%sklearn.utils._readonly_array_wrapperr   r   Zsklearn.utils._testingr   r   r   ÚmarkZparametrizeZfloat32Zfloat64Zint32Zint64r   r
   r
   r
   r   Ú<module>   s   