
    _Mh                        d dl Zd dlZd dlmZ d dlmZmZmZm	Z	 d dl
mZmZmZmZmZ d Zd Zd Zd Zd	 Zej                            d
ddg          ej                            deeg          d                         ZdS )    N)assert_array_almost_equal)	csr_array
csr_matrix	coo_array
coo_matrix)breadth_first_treedepth_first_treecsgraph_to_densecsgraph_from_densecsgraph_masked_from_densec                     t          j        g dg dg dg dg dg          } t          | d          } t          j        g dg dg d	g d
g d
g          }dD ]0}t          | d|          }t	          t          |          |           1d S )Nr         r   r   r   r   r   r      r   r   r      r   r   r   r   r   r   r   r   r   r   r   r   
null_valuer   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   TFnparrayr   r   r   r
   csgraphbfirstdirectedbfirst_tests       i/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/sparse/csgraph/tests/test_traversal.pytest_graph_breadth_firstr%   	   s    h''''	) * *G
 !Q777GX&&&&	( ) )F " * *(!X>>!"2;"?"?"(	* 	* 	* 	** *    c                     t          j        g dg dg dg dg dg          } t          | d          } t          j        g dg d	g d
g dg dg          }dD ]0}t          | d|          }t	          t          |          |           1d S )Nr   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r	   r   r
   )r    dfirstr"   dfirst_tests       r$   test_graph_depth_firstr+      s    h''''	) * *G
 !Q777GX&&&&	( ) )F " I I&w8<<!"2;"?"?HHHHI Ir&   c            	      	   ddl m}  ddlm} t	          j        g dg dg dg dg dg          }t          |          }t           | |          t                    sJ t           ||          t                    sJ d	D ]N}t          t          |d
|          t                    sJ t          t          |d
|          t                    sJ Ot          |d
          }t          |t                    sJ t           | |          t                    sJ t           ||          t                    sJ d	D ]N}t          t          |d
|          t                    sJ t          t          |d
|          t                    sJ Ot          |d
          }t          |t          j        j                  sJ |j        t          j        u sJ t           ||          t                    sJ d	D ]N}t          t          |d
|          t                    sJ t          t          |d
|          t                    sJ Ot          j                                        5 }|                    t(          d           |                    t*          d           t	          j        g dg dg dg dg dg          }d d d            n# 1 swxY w Y   t/          |          }t           | |          t0                    sJ t           ||          t.                    sJ d	D ]N}t          t          |d
|          t.                    sJ t          t          |d
|          t.                    sJ Ot          |d
          }t          |t.                    sJ t           | |          t0                    sJ t           ||          t.                    sJ d	D ]N}t          t          |d
|          t.                    sJ t          t          |d
|          t.                    sJ Ot          |d
          }t          |t          j        j                  sJ t           ||          t.                    sJ d	D ]N}t          t          |d
|          t.                    sJ t          t          |d
|          t.                    sJ Od S )Nr   )	laplacian)minimum_spanning_treer   r   r   r   r   r   r   r   zthe matrix subclass.*)
_laplacianr-   _min_spanning_treer.   r   r   r   
isinstancer   r	   r   r   r   maMaskedArray
_baseclassndarraytestingsuppress_warningsfilterDeprecationWarningPendingDeprecationWarningmatrixr   r   )r-   r.   
np_csgraphr    r"   sup
nm_csgraph
mm_csgraphs           r$   test_return_typer@   0   s|   &&&&&&::::::???*??*??*??*??	, - -J
 
##Gii(()44444++G44i@@@@@! O O*7Ax@@)LLLLL,WaBBINNNNNN :::Ggy)))))ii(()44444++G44i@@@@@! O O*7Ax@@)LLLLL,WaBBINNNNNN'
qAAAGgru011111++++++G44i@@@@@! O O*7Ax@@)LLLLL,WaBBINNNNNN 
	%	%	'	' 23

%'>???

,.EFFFY / / / /	 1 2 2
	2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 $$Gii((*55555++G44jAAAAA! P P*7Ax@@*MMMMM,WaBBJOOOOOO :::Ggz*****ii((*55555++G44jAAAAA! P P*7Ax@@*MMMMM,WaBBJOOOOOO*:!DDDJj"%"344444++G44jAAAAA! P P*7Ax@@*MMMMM,WaBBJOOOOOOP Ps   AKK	K	c                      t          j        dgg          } t          | d          } t          j        dgg          }dD ]0}t          | d|          }t	          t          |          |           1d S Nr   r   r   r   r   s       r$   &test_graph_breadth_first_trivial_graphrC   u   s    huooG Q777GXse__F! I I(!X>>!"2;"?"?HHHHI Ir&   c                      t          j        dgg          } t          | d          } t          j        dgg          }dD ]0}t          | d|          }t	          t          |          |           1d S rB   r(   r   s       r$   $test_graph_depth_first_trivial_graphrE      s    huooG Q777GXse__F! * *&w8<<!"2;"?"?"(	* 	* 	* 	** *r&   r"   TF	tree_funcc                    t          dgt          j        dgdggt          j                  fd          }|j        j        t          j        k    sJ  | |d|          }t          t          |          ddgddgg           d S )Nr   r   )dtype)r   r   )shape)r"   )r   r   r   int64indicesrH   r   r
   )rF   r"   gtrees       r$   test_int64_indicesrN      s     	A31#s28<<<=VLLLA9?bh&&&&9QH---D.t441v1v6FGGGGGr&   )numpyr   pytestnumpy.testingr   scipy.sparser   r   r   r   scipy.sparse.csgraphr   r	   r
   r   r   r%   r+   r@   rC   rE   markparametrizerN    r&   r$   <module>rW      sb        3 3 3 3 3 3 E E E E E E E E E E E EE E E E E E E E E E E E E E* * *(I I I&AP AP APJI I I	* 	* 	* dE]33'9;K&LMMH H NM 43H H Hr&   