§
    bŠtji  ã                   óp  — d 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n# e$ r dZY nw xY w	 ddlZdZn# e$ r dZY nw xY w	 ddlZdZn# e$ r dZY nw xY w	 ddlZdZn# e$ r dZY nw xY w	 ddlZdZn# e$ r dZY nw xY w	 ddlZdZn# e$ r dZY nw xY w	 ddlZdZ n# e$ r dZ Y nw xY w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!dS dS )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                 óœ   — |                       dddd¬¦  «         |                       ddd d¬¦  «         |                       d	ddd
¬¦  «         d S )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/html/CA-Chatbot/venv/lib/python3.11/site-packages/networkx/conftest.pyÚpytest_addoptionr      s‹   € Ø
×ÒØ˜L°%Ð>Nð ñ ô ð ð ×ÒØØØØVð	 ñ ô ð ð ×ÒØØØð ð	 ñ ô ð ð ð ó    c                 ó(  — |                       dd¦  «         |                      d¦  «        }|€t          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
                             ¦   «         it          j        j        ¤Žt          j        _        |                      d	¦  «        }|st          j                             d
¦  «        }t          |¦  «        t          j        _        t          j
        j        j        j        t          j
        j        j        _        d S d S )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ÚnxÚutilsÚbackendsÚbackend_infoÚConfigÚconfigÚboolÚfallback_to_nxÚ_dispatchableÚ_call_if_any_backends_installedÚ__call__)r'   r!   Úloopback_epr)   s       r   Úpytest_configurer.   +   sh  € Ø
×Ò˜IÐ'GÑHÔHÐHØ×Ò˜{Ñ+Ô+€GØ€Ý”*—.’.Ð!8Ñ9Ô9ˆå MÐ9LÐMÑMÔM€KØð 
ÝŒðSñ	
ô 	
ð 	
ð €F„NØñ 
ð 5@ÀÔ4N�ŒÔÔ" =Ñ1Ø8:�ŒÔÔ& }Ñ5ÝœXœ_ð 
ð 
ÝœŸšÑ)Ô)ð
åŒiÔ ð
ð 
�Œ	Ôð  ×)Ò)Ð*<Ñ=Ô=ˆØð 	GÝœZŸ^š^Ð,EÑFÔFˆNÝ#'¨Ñ#7Ô#7�Œ	Ô åŒHÔÔ+ÔKõ 	ŒÔÔ'Ô0Ð0Ð0ð
ð 
r   c                 ó"  — | j         r­| j         }|dk    r dt          j        j        j        _        |gt          j        j        _        |gt          j        j        _	        t          j        j        j        |          
                    ¦   «         }t          |d¦  «        r t          |d¦  «        |¦  «         |                      d¦  «        rd S t          j                             d¬¦  «        }|D ] }d|j        v r|                     |¦  «         Œ!d S )NÚnetworkxTÚon_start_testsr   zneed --runslow option to run)ÚreasonÚslow)r!   r"   r#   r$   r*   Ú_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_modifyitemsrD   N   s	  € ð „~ð 
:ð ”~ˆØ˜:Ò%Ð%Ø:>�BŒHÔÔ+Ô7Ø0<¨~�BŒIÔ&Ô,Ø5A°N�BŒIÔ&Ô1Ý”hÔ'Ô0°Ô>×CÒCÑEÔEˆGÝ�wÐ 0Ñ1Ô1ð :Ø2•˜Ð!1Ñ2Ô2°5Ñ9Ô9Ð9à×Ò˜Ñ$Ô$ð àˆÝ”× Ò Ð(FÐ ÑGÔG€IØð 'ð 'ˆØ�T”]Ð"Ð"Ø�OŠO˜IÑ&Ô&Ð&øð'ð 'r   T)Úautousec                  ó  — 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¬¦  «         d S )NÚignorez:Exited (at iteration \d+|postprocessing) with accuracies.*)ÚcategoryÚmessagezThe hashes produced for z

The `normalized`Úmaybe_regular_expanderzmetric_closure is deprecated)r   ÚfilterwarningsÚUserWarningÚDeprecationWarningr   r   r   Úset_warningsrN   g   sÃ   € åÔØÝØMðñ ô ð õ
 ÔØÝØ+ðñ ô ð õ
 ÔØÕ-Ð7Mðñ ô ð õ ÔØÕ-Ð7Oðñ ô ð õ ÔØÕ-Ð7Uðñ ô ð ð ð r   c                 ó   — t           | d<   d S )Nr"   )r"   )Údoctest_namespaces    r   Úadd_nxrQ   ~   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)&rR   z'algorithms/assortativity/correlation.pyz"algorithms/assortativity/mixing.pyz!algorithms/assortativity/pairs.pyzalgorithms/bipartite/matrix.pyz algorithms/bipartite/spectral.pyz%algorithms/bipartite/link_analysis.pyz1algorithms/centrality/current_flow_betweenness.pyz8algorithms/centrality/current_flow_betweenness_subset.pyz$algorithms/centrality/eigenvector.pyzalgorithms/centrality/katz.pyrS   z%algorithms/centrality/second_order.pyz%algorithms/centrality/subgraph_alg.pyz!algorithms/communicability_alg.pyz algorithms/community/divisive.pyz$algorithms/community/bipartitions.pyzalgorithms/distance_measures.pyz$algorithms/link_analysis/hits_alg.pyz(algorithms/link_analysis/pagerank_alg.pyrT   zalgorithms/similarity.pyrV   zalgorithms/walks.pyúconvert_matrix.pyzdrawing/layout.pyúdrawing/nx_pylab.pyz"generators/spectral_graph_forge.pyzgenerators/geometric.pyrW   zlinalg/algebraicconnectivity.pyzlinalg/attrmatrix.pyrX   zlinalg/graphmatrix.pyrY   zlinalg/modularitymatrix.pyzlinalg/spectrum.pyzutils/rcm.pyr[   zgenerators/classic.pyrZ   zdrawing/nx_agraph.pyzdrawing/nx_pydot.pyrU   ))Ú__doc__r   r   Úimportlib.metadatar   r;   r0   r"   r   r.   rD   ÚfixturerN   rQ   ÚnumpyÚnpÚ	has_numpyÚImportErrorÚscipyÚspÚ	has_scipyÚ
matplotlibÚmplÚhas_matplotlibÚpandasÚpdÚ
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>rz      sS  ððð ð 
€	€	€	Ø €€€Ø +Ð +Ð +Ð +Ð +Ð +à €€€à Ð Ð Ð ðð ð ð& 
ð  
ð  
ðF'ð 'ð 'ð2 €„˜ÐÑÔðð ñ Ôðð, €„˜ÐÑÔð!ð !ñ Ôð!ðØÐÐÐà€I€IøØð ð ð Ø€I€I€IðøøøðØÐÐÐà€I€IøØð ð ð Ø€I€I€IðøøøðØÐÐÐà€N€NøØð ð ð Ø€N€N€NðøøøðØÐÐÐà€J€JøØð ð ð Ø€J€J€JðøøøðØÐÐÐà€N€NøØð ð ð Ø€N€N€NðøøøðØ€L€L€Là€I€IøØð ð ð Ø€I€I€IðøøøðØ€L€L€Là€I€IøØð ð ð Ø€I€I€Iðøøøð €ðð ð €ð'ð 'ð '€ðP *Ð+BÐCÐ Ø#Ð$€Ø*Ð+Ð Ø$Ð%€Ø*Ð+€àð "Ø�kÑ!€NØð "Ø�kÑ!€NØð 'ØÐ&Ñ&€NØð #Ø�lÑ"€NØð 'ØÐ&Ñ&€NØð "Ø�kÑ!€NØð "Ø�kÑ!€N€N€Nð"ð "s~   ÁA ÁA(Á'A(Á,A3 Á3A=Á<A=ÂB ÂBÂBÂB ÂB'Â&B'Â+B2 Â2B<Â;B<Ã C ÃCÃCÃC ÃC&Ã%C&