o
    il                     @   sl   d dl Zd dlmZmZ d dlmZmZ dd Zdd Z	dd	 Z
d
d Zdd Zdd Zdd Zdd ZdS )    N)assert_equalassert_array_almost_equal)csgraph	csr_arrayc                  C   sh   t g dg dg dg} tj| dd}|| fD ]}tj|ddd\}}t|d t|g d	 qd S )
Nr      r   r   r   r   r   Z
null_valueTweakdirected
connection   r   r   r   )nparrayr   csgraph_from_denseconnected_componentsr   r   )ZXdeZXspXn_componentslabels r   n/home/kim/smarthome/.venv/lib/python3.10/site-packages/scipy/sparse/csgraph/tests/test_connected_components.pytest_weak_connections   s   

r   c                  C   s   t g dg dg dg} | | j }tj| dd}tj|dd}|| fD ]}tj|ddd\}}t|d |  t|g d	 q%||fD ]}tj|ddd\}}t|d
 |  t|g d qFd S )Nr   r   r   r	   Tstrongr      )r   r   r   r   r   )	r   r   Tr   r   r   r   sortr   )ZX1deZX2deZX1spZX2spr   r   r   r   r   r   test_strong_connections   s0   



r   c               	   C   f   t g dg dg dg dg dg dg} tj| ddd\}}t|d	 |  t|g d
 d S )N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   Tr   r      )r   r   r   r   r      r   r   r   r   r   r   r   r   r   r   r   r   r   test_strong_connections22      

r(   c               	   C   r   )Nr    )r   r   r   r   r   r   r!   r"   r#   Tr
   r   r   )r   r   r   r   r   r   r&   r'   r   r   r   test_weak_connections2A   r)   r*   c                  C   sf   t g dg dg dg dg} tj| dd\}}t|d t|d |d	  t|d |d
  d S )N)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   gr   r   r   r   r   test_ticket1876P   s   

r-   c                  C   s&   t d} t| \}}t|d d S )N)r%   r%   r   )r   Zonesr   r   r   r+   r   r   r   test_fully_connected_graph^   s   
r.   c                  C   sh   t dgtjdgdggtjdfdd} | jjtjksJ tj| dd\}}|dks+J t|ddg d S )Nr   r   dtyper   r   shapeF)r   	r   r   r   Zint64indicesr0   r   r   r   r,   nr   r   r   r   test_int64_indices_undirectedf   s
   &r8   c                  C   sj   t dgtjdgdggtjdfdd} | jjtjksJ tj| ddd\}}|d	ks,J t|ddg d S )
Nr   r   r/   r1   r2   Tr   r   r   r4   r6   r   r   r   test_int64_indices_directedo   s   &
r9   )numpyr   Znumpy.testingr   r   Zscipy.sparser   r   r   r   r(   r*   r-   r.   r8   r9   r   r   r   r   <module>   s    	