
    S_fG	                         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 ZegZej                  j                  de       G d d	             Zy)
z3Test of min-max 1D features of sparse array classes    N)assert_equalassert_array_equal)	coo_array)isscalarlikec                 p    t        | t        j                        st        |       r| S | j	                         S )N)
isinstancenpndarrayr   toarray)as    @lib/python3.12/site-packages/scipy/sparse/tests/test_minmax1d.pyr   r      s'    !RZZ LO99;    	spcreatorc                   $    e Zd Zd Zd Zd Zd Zy)Test_MinMaxMixin1Dc                    t        j                  d      } ||      }t        |j                         d       t        |j	                         d       t        | j                         d       t        | j	                         d       y )N   r      )r	   aranger   minmax)selfr   DXs       r   test_minmaxzTest_MinMaxMixin1D.test_minmax   s\    IIaLaLQUUWa QUUWa qbXXZ$qbXXZ#r   c                 :   t        j                  d      } ||      }dD ]n  }t        t        |j	                  |            |j	                  |d             t        t        |j                  |            |j                  |d             p dD ]n  }t        j                  t        d      5  |j                  |       d d d        t        j                  t        d      5  |j	                  |       d d d        p y # 1 sw Y   BxY w# 1 sw Y   xY w)	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!   s        r   test_minmax_axisz#Test_MinMaxMixin1D.test_minmax_axis"   s    IIbMaL 	D4()155dT5+J 4()155dT5+J		  	!Dz1DE !4 !z1DE !4 ! !	!! !! !s   1D'DD	D	c                 
   t        j                  g d      } ||      }t        t        j                  |      t        j                  |             t        t        j                  |      t        j                  |             y )N)r   r$      )r	   arrayr   r   r   )r   r   datdatsps       r   test_numpy_minmaxz$Test_MinMaxMixin1D.test_numpy_minmax4   sM    hhy!#266%="&&+6266%="&&+6r   c                    t        j                  g d      }t        j                  g d      }t        j                  g d      }t        j                  g d      }t        j                  g d      }|||||fD ]  } ||      }t        |j                         t        j                  |             t        |j	                         t        j                  |             t        |j                  d      t        j                  |d             t        |j	                  d      t        j                  |d              t        j
                  d      }	d	D ]v  }
 ||	      }t        j                  t        d
      5  |j	                  |
       d d d        t        j                  t        d
      5  |j                  |
       d d d        x y # 1 sw Y   BxY w# 1 sw Y   xY w)N)r   r   r,      )r   r   r   r#   )r   r#   r   )r$   r,   r2   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!   s              r   test_argmaxzTest_MinMaxMixin1D.test_argmax;   sn   XXm$XXn%XX&'XXl#XXl#b"b"% 	CAA,Cryy|4ryy|4+RYYqq-AB+RYYqq-AB	C XXd^ 	&DB-Cz1EF &


%&z1EF &


%& &		&& && &s   G7G!G	!G*	N)__name__
__module____qualname__r   r*   r0   r>    r   r   r   r      s    $!$7&r   r   )__doc__r'   numpyr	   numpy.testingr   r   scipy.sparser   scipy.sparse._sputilsr   r   formats_for_minmaxmarkparametrizer   rB   r   r   <module>rK      sQ    9   : " .  [  &89;& ;& :;&r   