o
    5BiG	                     @   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npndarrayr   toarray)a r   `/var/www/html/Trade-python/venv/lib/python3.10/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 ]"}tt|j|d|j|dd tt|j|d|j|dd qdD ]<}tjtdd |j|d W d    n1 sJw   Y  tjtdd |j|d W d    n1 sgw   Y  q0d S )	N2   )r   axisT)r   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   datdatspr   r   r   test_numpy_minmax4   s   z$Test_MinMaxMixin1D.test_numpy_minmaxc              	   C   sV  t g d}t g d}t g d}t g d}t g d}|||||fD ]6}||}t| t | t| t | t|jddt j|dd t|jddt j|dd q*t d}	d	D ]@}
||	}tjtd
d |j|
d W d    n1 sw   Y  tjtd
d |j|
d W d    n1 sw   Y  qhd 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   argmaxargminemptyr"   r#   r$   )r   r   D1D2D3D4D5r   matD6r   r   r   r   test_argmax;   s,   
zTest_MinMaxMixin1D.test_argmaxN)__name__
__module____qualname__r   r%   r*   r7   r   r   r   r   r      s
    
r   )__doc__r"   numpyr   numpy.testingr   r   scipy.sparser   scipy.sparse._sputilsr   r	   formats_for_minmaxmarkparametrizer   r   r   r   r   <module>   s    