Ë
    D^(h³"  ã                   ób  — d Z ddlZddlZddlZddlmZ ddlZddlZd„ Zd„ Z	d„ Z
 ej                  d¬«      d	„ «       Z ej                  d¬«      d
„ «       Z	 ddlZdZ	 ddlZdZ	 ddlZdZ	 ddlZdZ	 ddlZdZ	 ddlZdZ	 ddlZdZg Zg d¢Zg d¢ZddgZ dgZ!dgZ"dgZ#dgZ$eseez  Zeseez  Zesee z  Zesee!z  Zesee"z  Zesee#z  Zesee$z  Zyy# e$ r dZY Œ€w xY w# e$ r dZY Œ†w xY w# e$ r dZY ŒŒw xY w# e$ r dZY Œ’w xY w# e$ r dZY Œ˜w xY w# e$ r dZY Œžw xY w# e$ r dZY Œ¤w xY w)ax  
Testing
=======

General guidelines for writing good tests:

- doctests always assume ``import networkx as nx`` so don't add that
- prefer pytest fixtures over classes with setup methods.
- use the ``@pytest.mark.parametrize``  decorator
- use ``pytest.importorskip`` for numpy, scipy, pandas, and matplotlib b/c of PyPy.
  and add the module to the relevant entries below.

é    N)Úentry_pointsc                 ó‚   — | j                  dddd¬«       | j                  ddd d¬«       | j                  d	ddd
¬«       y )Nú	--runslowÚ
store_trueFzrun slow tests)ÚactionÚdefaultÚhelpú	--backendÚstorezGRun tests with a backend by auto-converting nx graphs to backend graphsú--fallback-to-nxz[Run nx function if a backend doesn't implement a dispatchable function (use with --backend))Ú	addoption)Úparsers    úO/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/networkx/conftest.pyÚpytest_addoptionr      sc   € Ø
×ÑØ˜L°%Ð>Nð ô ð ×ÑØØØØVð	 ô ð ×ÑØØØð ð	 õ ó    c                 óü  — | j                  dd«       | j                  d«      }|€t        j                  j	                  d«      }t        dd¬«      }|st        j                  d«       || _        |�r
|d   t        j                  j                  j                  d<   i t        j                  j                  j                  d<   t        j                  j                  ddt        j                  j                  «       it        j                  j                  ¤Žt        j                  _        | j                  d	«      }|st        j                  j	                  d
«      }t        |«      t        j                  _        y y )NÚmarkerszslow: mark test as slow to runr
   ÚNETWORKX_TEST_BACKENDÚnx_loopbackznetworkx.backends)ÚnameÚgroupac  

             WARNING: Mixed NetworkX configuration! 

        This environment has mixed configuration for networkx.
        The test object nx_loopback is not configured correctly.
        You should not be seeing this message.
        Try `pip install -e .`, or change your PYTHONPATH
        Make sure python finds the networkx repo you are testing

r   ÚNETWORKX_FALLBACK_TO_NX© )Úaddinivalue_lineÚ	getoptionÚosÚenvironÚgetr   ÚwarningsÚwarnÚbackendÚnetworkxÚutilsÚbackendsÚbackend_infoÚConfigÚconfigÚboolÚfallback_to_nx)r'   r!   Úloopback_epr)   s       r   Úpytest_configurer+   ,   s&  € Ø
×Ñ˜IÐ'GÔHØ×Ñ˜{Ó+€GØ€Ü—*‘*—.‘.Ð!8Ó9ˆä MÐ9LÔM€KÙÜ�‰ðSô	
ð €F„NÚð ;FÀmÑ:TŒ�‰×Ñ×(Ñ(¨Ñ7Ø>@Œ�‰×Ñ×,Ñ,¨]Ñ;Ü#+§>¡>×#8Ñ#8ñ $
Ü Ÿ™×-Ñ-Ó/ð$
ä�o‰o×&Ñ&ñ$
Œ�‰Ô ð  ×)Ñ)Ð*<Ó=ˆÙÜŸZ™ZŸ^™^Ð,EÓFˆNÜ)-¨nÓ)=Œ�‰Õ&ð r   c                 óh  — | j                   rÍ| j                   }|dk7  r¼dt        j                  j                  j                  _        |gt        j                  j                  _        |gt        j                  j                  _	        t        j                  j                  j                  |   j                  «       }t        |d«      r t        |d«      |«       | j                  d«      ry t        j                  j!                  d¬«      }|D ]"  }d|j"                  v sŒ|j%                  |«       Œ$ y )Nr"   TÚon_start_testsr   zneed --runslow option to run)ÚreasonÚslow)r!   r"   r#   r$   Ú_dispatchableÚ_is_testingr'   Úbackend_priorityÚalgosÚ
generatorsÚloadÚhasattrÚgetattrr   ÚpytestÚmarkÚskipÚkeywordsÚ
add_marker)r'   ÚitemsÚbackend_namer!   Ú	skip_slowÚitems         r   Úpytest_collection_modifyitemsrA   L   sî   € ð ‡~‚~ð —~‘~ˆØ˜:Ò%Ø@DŒH�N‰N×#Ñ#×1Ñ1Ô=Ø6B°^ŒH�O‰O×,Ñ,Ô2Ø;G¸.ŒH�O‰O×,Ñ,Ô7Ü—n‘n×-Ñ-×6Ñ6°|ÑD×IÑIÓKˆGÜ�wÐ 0Ô1Ø2”˜Ð!1Ó2°5Ô9à×Ñ˜Ô$àÜ—‘× Ñ Ð(FÐ ÓG€IØò 'ˆØ�T—]‘]Ò"Ø�O‰O˜IÕ&ñ'r   T)Úautousec                  óL  — t        j                  dt        d¬«       t        j                  dt        d¬«       t        j                  dt        d¬«       t        j                  dt        d¬«       t        j                  dt        d¬«       t        j                  dt        d¬«       t        j                  dt        d	¬«       t        j                  dt        d
¬«       t        j                  dt        d¬«       t        j                  dt        d¬«       t        j                  dt        d¬«       t        j                  dt        d¬«       t        j                  dt        d¬«       t        j                  dt        d¬«       t        j                  dt        d¬«       y )NÚignorez$

single_target_shortest_path_length)ÚcategoryÚmessagez

shortest_pathz

The `normalized`z

all_tripletsz

random_triadÚminimal_d_separatorÚd_separatedz

k_corez	

k_shellz	

k_crustz


k_coronaz

total_spanning_tree_weightz\n\nThe 'create=matrix'z

`compute_v_structureszKeyword argument 'link')r   ÚfilterwarningsÚFutureWarningÚDeprecationWarningr   r   r   Úset_warningsrL   e   sm  € ä×ÑØÜØ8õô
 ×ÑØÜØ#õô
 ×ÑØÔ-Ð7Mõô ×ÑØÔ-Ð7Iõô ×ÑØÔ-Ð7Iõô ×ÑØÔ-Ð7Lõô ×ÑØÔ-°}õô ×Ñ˜HÔ/AÈ<ÕXÜ×ÑØÔ-°}õô ×ÑØÔ-°}õô ×ÑØÔ-°~õô ×ÑØÔ-Ð7Wõô ×ÑØÔ-Ð7Qõô ×ÑØÔ-Ð7Rõô ×ÑØÔ-Ð7Pör   c                 ó   — t         | d<   y )NÚnx)r"   )Údoctest_namespaces    r   Úadd_nxrP   ˜   s   € ä&Ð�dÒr   F)ú.algorithms/approximation/traveling_salesman.pyz/algorithms/centrality/current_flow_closeness.pyú"algorithms/centrality/laplacian.pyú!algorithms/node_classification.pyzalgorithms/non_randomness.pyúalgorithms/polynomials.pyz"algorithms/shortest_paths/dense.pyúalgorithms/tree/mst.pyzdrawing/nx_latex.pyúgenerators/expanders.pyúlinalg/bethehessianmatrix.pyúlinalg/laplacianmatrix.pyzutils/misc.py)#rQ   z'algorithms/assortativity/correlation.pyz"algorithms/assortativity/mixing.pyz!algorithms/assortativity/pairs.pyzalgorithms/bipartite/matrix.pyz algorithms/bipartite/spectral.pyz1algorithms/centrality/current_flow_betweenness.pyz8algorithms/centrality/current_flow_betweenness_subset.pyz$algorithms/centrality/eigenvector.pyzalgorithms/centrality/katz.pyrR   z%algorithms/centrality/second_order.pyz%algorithms/centrality/subgraph_alg.pyz!algorithms/communicability_alg.pyz algorithms/community/divisive.pyzalgorithms/distance_measures.pyz$algorithms/link_analysis/hits_alg.pyz(algorithms/link_analysis/pagerank_alg.pyrS   zalgorithms/similarity.pyrU   zalgorithms/walks.pyúconvert_matrix.pyzdrawing/layout.pyúdrawing/nx_pylab.pyz"generators/spectral_graph_forge.pyrV   zlinalg/algebraicconnectivity.pyzlinalg/attrmatrix.pyrW   zlinalg/graphmatrix.pyrX   zlinalg/modularitymatrix.pyzlinalg/spectrum.pyzutils/rcm.pyrZ   zgenerators/classic.pyrY   zdrawing/nx_agraph.pyzdrawing/nx_pydot.pyrT   )%Ú__doc__r   Úsysr   Úimportlib.metadatar   r8   r"   r   r+   rA   ÚfixturerL   rP   ÚnumpyÚ	has_numpyÚImportErrorÚscipyÚ	has_scipyÚ
matplotlibÚhas_matplotlibÚpandasÚ
has_pandasÚ
pygraphvizÚhas_pygraphvizÚpydotÚ	has_pydotÚsympyÚ	has_sympyÚcollect_ignoreÚneeds_numpyÚneeds_scipyÚneeds_matplotlibÚneeds_pandasÚneeds_pygraphvizÚneeds_pydotÚneeds_sympyr   r   r   ú<module>rv      s  ðñó 
Û 
Û Ý +ã ã òò&>ò@'ð2 €‡�˜Ôñ/ó ð/ðd €‡�˜Ôñ'ó ð'ðÛà€IðÛà€IðÛà€NðÛà€JðÛà€NðÛà€IðÛà€Ið €ò€ò$€ðJ *Ð+BÐCÐ Ø#Ð$€Ø*Ð+Ð Ø$Ð%€Ø*Ð+€áØ�kÑ!€NÙØ�kÑ!€NÙØÐ&Ñ&€NÙØ�lÑ"€NÙØÐ&Ñ&€NÙØ�kÑ!€NÙØ�kÑ!�Nð øðq ò Ø‚Iðûð ò Ø‚Iðûð ò Ø‚Nðûð ò Ø‚Jðûð ò Ø‚Nðûð ò Ø‚Iðûð ò Ø‚Iðús~   ÁC Á C# Á'C0 Á.C= Á5D
 Á<D ÂD$ ÃC ÃC Ã#C-Ã,C-Ã0C:Ã9C:Ã=DÄDÄ
DÄDÄD!Ä D!Ä$D.Ä-D.