a
    ˆù»j™	  ã                   @   sj   d Z ddlZddlZddlmZmZ ddlmZ ddl	m
Z
 dd„ ZegZej de¡G d	d
„ d
ƒƒZdS )z3Test of min-max 1D features of sparse array classesé    N)Úassert_equalÚassert_array_equal)Ú	coo_array)Úisscalarlikec                 C   s    t | tjƒst| ƒr| S |  ¡ S )N)Ú
isinstanceÚnpZndarrayr   Útoarray)Úa© r
   úFE:\soccer\ml_env\Lib\site-packages\scipy/sparse/tests/test_minmax1d.pyr      s    r   Ú	spcreatorc                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTest_MinMaxMixin1Dc                 C   sR   t  d¡}||ƒ}t| ¡ dƒ t| ¡ dƒ t|  ¡ dƒ t|  ¡ dƒ d S )Né   r   é   éüÿÿÿ)r   Úaranger   ÚminÚmax)Úselfr   ÚDÚXr
   r
   r   Útest_minmax   s    
zTest_MinMaxMixin1D.test_minmaxc              	   C   sÞ   t  d¡}||ƒ}dD ]D}tt|j|d�ƒ|j|dd�ƒ tt|j|d�ƒ|j|dd�ƒ qdD ]x}tjtdd�� |j|d� W d   ƒ n1 s”0    Y  tjtdd�� |j|d� W d   ƒ q`1 sÎ0    Y  q`d S )	Né2   )r   éÿÿÿÿ©ÚaxisT)r   Zkeepdims)éþÿÿÿé   zaxis out of range©Úmatch)	r   r   r   r   r   r   ÚpytestÚraisesÚ
ValueError)r   r   r   r   r   r
   r
   r   Útest_minmax_axis"   s    
ÿÿ*z#Test_MinMaxMixin1D.test_minmax_axisc                 C   sF   t  g d¢¡}||ƒ}tt  |¡t  |¡ƒ tt  |¡t  |¡ƒ d S )N)r   r   é   )r   Úarrayr   r   r   )r   r   ZdatZdatspr
   r
   r   Útest_numpy_minmax4   s    z$Test_MinMaxMixin1D.test_numpy_minmaxc              	   C   sZ  t  g d¢¡}t  g d¢¡}t  g d¢¡}t  g d¢¡}t  g d¢¡}|||||fD ]l}||ƒ}t| ¡ t  |¡ƒ t| ¡ t  |¡ƒ t|jdd�t j|dd�ƒ t|jdd�t j|dd�ƒ qTt  d¡}	d	D ]„}
||	ƒ}tjtd
d�� |j|
d� W d   ƒ n1 �s0    Y  tjtd
d�� |j|
d� W d   ƒ qÐ1 �sJ0    Y  qÐd S )N)r   r   r$   é   )r   r   r   r   )r   r   éýÿÿÿr   )r   r$   r'   r   )r   r$   r   r   r   r   )r   )Nr   zto an empty matrixr   )	r   r%   r   ZargmaxZargminÚemptyr    r!   r"   )r   r   ZD1ZD2ZD3ZD4ZD5r   ZmatZD6r   r
   r
   r   Útest_argmax;   s$    
,zTest_MinMaxMixin1D.test_argmaxN)Ú__name__Ú
__module__Ú__qualname__r   r#   r&   r*   r
   r
   r
   r   r      s   
r   )Ú__doc__r    Únumpyr   Znumpy.testingr   r   Zscipy.sparser   Zscipy.sparse._sputilsr   r   Zformats_for_minmaxÚmarkZparametrizer   r
   r
   r
   r   Ú<module>   s   