
    \Mh{                        d dl Z d dlZd dlZ ej        d          Z ej        d            ej        d          d             Zd Zd Z	ej
                            d	          d
             Zej
                            d	          d             Zd Zej
                            d          d             Zd Zd ZdS )    NscipynumpyF)implemented_by_nxc                      t          d          )Nz_stub_func is a stub)NotImplementedErrorGs    b/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/networkx/utils/tests/test_backends.py
_stub_funcr      s    
4
5
55    c                  
   t          j        d          } t          j        |            t          j        |            t          j        t
                    5  t          j                     d d d            d S # 1 swxY w Y   d S )N   r   )nx
path_graphpagerankpytestraises	TypeErrorr   s    r
   test_dispatch_kwds_vs_argsr      s    
aAKNNNK!	y	!	!  
                 s   A88A<?A<c                     d} t           j        j        j                                        D ]\  }}t          j        |j                  }t          j        |          |j        u sJ 	 t          j        |          }n# t
          j	        $ r Y bw xY wt          j        |          |u sJ | dz  } | dk    sJ t          j        t          j        t           j
                            t           j
        u sJ d S )Nr      )r   utilsbackends_registered_algorithmsitemspickledumps__wrapped__loadsPicklingErrorinverse_line_graph)countnamefuncpickleds       r
   test_pickler&      s    Eh'>DDFF 	 	
d,t/00|G$$(88888	l4((GG# 	 	 	H	|G$$,,,,
19999<R%:;;<<@UUUUUUUs   'A<<BBz\not nx.config.backend_priority.algos or nx.config.backend_priority.algos[0] != 'nx_loopback'c                     ddl m} m} t          j                            g dg dg dg          }g fd}t          d dd            }| j        }|| _        || _        	 g k    sJ t          t          j        |                    t          j        u sJ d	gk    sJ t          t          j        |d
                    |u sJ d	d	gk    sJ t          t          j        |d                    t          j        u sJ d	d	gk    sJ 	 t          |          | _        | `n# t          |          | _        | `w xY wt          j        t          d          5  t          j        |d           d d d            d S # 1 swxY w Y   d S )Nr   LoopbackBackendInterfaceLoopbackGraph)r         )r+   r   r   )r,   r   r   c                                          d           |                      |                     d          |i |ddd          S )Nr   from_scipy_sparse_arrayT)preserve_edge_attrspreserve_node_attrspreserve_graph_attrs)appendconvert_from_nx__getattr__)selfargskwargsside_effectss      r
   r.   zCtest_graph_converter_needs_backend.<locals>.from_scipy_sparse_array;   s^    A##7D677HHH $ $!%	 $ 
 
 	
r   r#   c                d    t          |           t          j        u r| S t          j        |           S N)typer   Graph)objr#   s     r
   convert_to_nxz9test_graph_converter_needs_backend.<locals>.convert_to_nxD   s(    99  Jx}}r   r   nx_loopbackbackendnetworkxbackend is not installedmatchzbad-backend-name))networkx.classes.tests.dispatch_interfacer)   r*   spsparse	coo_arraystaticmethodr?   r.   r<   r   r=   r   r   ImportError)r)   r*   Ar.   r?   orig_convert_to_nxr8   s         @r
   "test_graph_converter_needs_backendrO   (   so          
 		YYY			999=>>AL
 
 
 
 
 #'     \ 2?-:*7N4=r!!!!B.q1122bh>>>>s""""+A}EEEFF-WWWW1v%%%%B.q*EEEFF"(RRRR1v%%%%%1=>P1Q1Q .$<< 2>>P1Q1Q .$<<<<<	{*D	E	E	E B B
"1.@AAAAB B B B B B B B B B B B B B B B B Bs   "B,D& &D>F  FFc                  f   ddl m} m              }|                    g d           t          ddfd
            }| j        }|| _        	 t          j        |dd          }t          |          t          j	        u sJ 	 t	          |          | _        dS # t	          |          | _        w xY w)	z;Test using `backend="networkx"` in a dispatchable function.r   r(   ))r   r   )r   r,   )r   r+   )r,   r   Nr9   c                    t          |           r4t          j                    }|j                            | j                   |S | S r;   )
isinstancer   r=   __dict__update)r>   r#   	new_graphr*   s      r
   r?   z,test_networkx_backend.<locals>.convert_to_nxp   sD    c=)) 	

I%%cl333
r   rC   rA   )
rG   r)   r*   add_edges_fromrK   r?   r   	ego_graphr<   r=   )r)   r	   r?   rN   G2r*   s        @r
   test_networkx_backendrY   a   s          
 	A555666#'       \ 2?-:*R\!Q
333Bxx28#####1=>P1Q1Q ...>P1Q1Q .QQQQs   4B B0c                  x    t          t          j                  t          t          j        j                  u sJ d S r;   )r<   r   r   	orig_func r   r
   test_dispatchable_are_functionsr]      s0    R[%: ; ;;;;;;;r   znot nx.utils.backends.backendsc                     ddl m}  t          j                    }|                    dd           |                    dd           t          j                    }|                    dd           t          j        ||          }t          t          j        ||                    ddhk    sJ |                     |          }|                     |          }dt          j        j	        v rVt          t          j        ||                    ddhk    sJ t          t          j        ||                    ddhk    sJ d S t          j        j	        sdt          j        j
        vrt          j        t          d          5  t          j        ||           d d d            n# 1 swxY w Y   t          j        t          d          5  t          j        ||           d d d            d S # 1 swxY w Y   d S d S d S )	Nr   )dispatch_interfacer   r,   r+   r@   rD   rE   )networkx.classes.testsr_   r   r=   add_edgeintersectionsetconvertconfigbackend_priorityr   r   r   rL   )r_   r	   HrvrX   H2s         r
   test_mixing_backend_graphsrj      sc   999999


AJJq!JJq!


AJJq!	A		Brq!$$%%!Q////		#	#A	&	&B		#	#A	&	&B	2222?2q))**q!f44442?1b))**q!f444444Y' #MAS,S,S];.HIII 	# 	#OB"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#];.HIII 	# 	#OAr"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#	# #,S,Ss$    F""F&)F&G++G/2G/c                      t          j        t          d          5  t          j        d           ddd           dS # 1 swxY w Y   dS )zKUsing `backend=` raises with unknown backend even if there are no backends.z6'this_backend_does_not_exist' backend is not installedrE   this_backend_does_not_existrA   N)r   r   rL   r   
null_graphr\   r   r
   test_bad_backend_namern      s    	S
 
 
 = = 	;<<<<= = = = = = = = = = = = = = = = = =s   ?AAc                     dt           j        j        v sJ dt          j        vsJ dt           j        j        v rMddlm}  d }t          |          | _        	 t          t          j                              du sJ 	 | `n# | `w xY wt          j
        t                    5  t          t          j                               d d d            d S # 1 swxY w Y   d S )NrC   r@   r   )r)   c                     dS )NTr\   r   s    r
   stub_func_implementationz<test_not_implemented_by_nx.<locals>.stub_func_implementation   s    4r   T)r   r   r   r   re   rG   r)   rK   r=   r   r   r   )r)   rq   s     r
   test_not_implemented_by_nxrr      s=   -----Z00000	***VVVVVV	 	 	 /;;S.T.T +	4bhjj))T11111(33(33333	*	+	+  28::                 s   $A? ?B!CCC)r   r   rC   r   importorskiprH   _dispatchabler   r   r&   markskipifrO   rY   r]   rj   rn   rr   r\   r   r
   <module>rw      sj        V!!  G    E***6 6 +*6  V V V  > 2B 2B	 2Bj > R R	 R<< < < 455# # 65#4= = =    r   