
    çg!                     z   d dl Z d dlmZ d dlZd dlZd dlmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZ d dlmZmZ dZh dZddd	h d
ddgfddddddddgZej                            ddg dgddgg          ej                            deeeg          d                         Zd Zd Z G d d          Zd Zd  Zd! Z d" Z!d# Z"d$ Z#ej                            d%e$dfe%dfe&d&fe'dff          d'             Z(ej                            d(d)  e)d	          D              e*g d*          f          d+             Z+dS ),    N)copy)PythonRandomInterfacePythonRandomViaNumpyBitsarbitrary_elementcreate_py_random_statecreate_random_statedict_to_numpy_arraydiscrete_sequenceflattengroupsmake_list_of_intspairwisepowerlaw_sequence)_dict_to_numpy_array1_dict_to_numpy_array2)      )      ))      )   )   )	   
      )                           >   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   foobarbaz)r   r   )r   r   qweasd)r   r"   )r#   )r$   19r&   resultexisting	existing1	existing2nestedc                 V   |&t          | |          }t          |          dk    sJ n\t          |          }t          |          }t          | |          }t          |          t          |          cxk    r	d|z   k    sn J t          t	          |          t
                    sJ d S )Nr&   )r   lenr   
issubclasstypetuple)r5   r1   val_result	nexistings        Z/var/www/html/ai-engine/env/lib/python3.11/site-packages/networkx/utils/tests/test_misc.pytest_flattenr?   /   s     ~ff%%3xx2~~~~~v,,LL	fg&&3xx3w<<99992	>999999d3ii'''''''    c                  P   g d} t          |           | u sJ t          |           | k    sJ t          t          |           d                   t          u sJ t          j        t
          j        t           g d           t          j        t
          j        t           g d           d S )N)r   r   g      @*   r   )r   r   r   kermit)r   r   g@)r   r9   intpytestraisesnxNetworkXError)mylists    r>   test_make_list_of_intsrK   >   s       FV$$....V$$....!&))!,--4444
M""$57J7J7JKKK
M""$5{{{CCCCCr@   c                  N    t          dd          } t          dg d          } d S )Nr&   g      @)exponent)r   r   r   r   r   r   r   r   r   r   r   )distribution)r   r
   )zs    r>   test_random_number_distributionrP   G   s1    "s+++A"+L+L+LMMMAAAr@   c                   B    e Zd Zed             Zd Zd Zd Zd Zd Z	dS )TestNumpyArrayc                 .    t          j        d          ad S )Nnumpy)rF   importorskipnp)clss    r>   setup_classzTestNumpyArray.setup_classN   s      ))r@   c                     t                               g dt           j                  }t                               g d          }t                               g d          }t          t	          |                    t
          k    sJ t	          |          t          |          k    sJ t	          |          }t          |d                   t          k    sJ t          j        t          j
        t          |           d S )Nr   r   r   )dtype)g      ?r   r   )g?r   r   r   )rV   arrayint64r9   r   listrE   rF   rG   rH   rI   )selfabcBs        r>   test_numpy_to_list_of_intsz)TestNumpyArray.test_numpy_to_list_of_intsS   s    HHYYYbhH//HH[[[!!HH[[[!!%a(())T1111 ##tAww....a  AaDzzS    b&(91=====r@   c                    ddd}t          |ddd          }t          j                            |t                              ddg                     t          |ddd          }t          j                            |t                              ddg                     t          |          }t          j                            |                                d           d S )Nr   r   r`   ra   r   mapping)ra   r`   r   )r   rV   testingassert_allcloser\   sum)r_   dr`   s      r>   test__dict_to_numpy_array1z)TestNumpyArray.test__dict_to_numpy_array1]   s    !!!11-=-=>>>

""1bhh1v&6&6777!!11-=-=>>>

""1bhh1v&6&6777!!$$

""15577A.....r@   c                 F   ddddddd}ddd}t          ||          }t          j                            |t                              ddgddgg                     t          |          }t          j                            |                                d           d S 	Nr   r   rf   r   r&   r   rg   !   )r   rV   ri   rj   r\   rk   r_   rl   rh   r`   s       r>   test__dict_to_numpy_array2z)TestNumpyArray.test__dict_to_numpy_array2g   s    ""r););<<""!!W555

""1bhhR1a&/A&B&BCCC!!$$

""15577B/////r@   c                    ddddddd}ddd}t          ||          }t          j                            |t                              ddgddgg                     ddd}t          ||          }t          j                            |t                              ddgddgg                     t          |          }t          j                            |                                d           d S ro   )r	   rV   ri   rj   r\   r   rk   rq   s       r>   test_dict_to_numpy_array_az)TestNumpyArray.test_dict_to_numpy_array_aq   s    ""r););<<""7333

""1bhhAR/A&B&BCCC""7333

""1bhhR1a&/A&B&BCCC!!$$

""15577B/////r@   c                 2   ddd}ddd}t          ||          }t          j                            |t                              ddg                     t          |          }t          j                            |                                d           d S )Nr   r   rf   r   rg   r   )r	   rV   ri   rj   r\   r   rk   rq   s       r>   test_dict_to_numpy_array_bz)TestNumpyArray.test_dict_to_numpy_array_b   s    !""7333

""1bhh1v&6&6777!!$$

""15577A.....r@   N)
__name__
__module____qualname__classmethodrX   rd   rm   rr   rt   rv    r@   r>   rR   rR   M   sx        * * [*> > >/ / /0 0 00 0 0/ / / / /r@   rR   c                     t          d          } g d}|dgz   }t          t          |                     |k    sJ t          t          t          |                               |k    sJ t          t          | d                    |k    sJ t          d          }t          t          |                    g k    sJ t          d          }t          t          |d                    g k    sJ d S )Nr   ))r   r   )r   r   )r   r   )r   r   T)cyclicr{   )ranger^   r   iter)nodes
node_pairsnode_pairs_cycle
empty_iters       r>   test_pairwiser      s    !HHE)))J!VH,  J....e%%&&*4444t,,,--1AAAAAbJ$$%%++++bJD11122b888888r@   c                      t          t          dg d                    } t          |           }ddhddhdhd}||k    sJ i t          i           k    sJ d S )	Nabcde)r   r   r   r   r   r`   ra   rb   rl   e)r   r   r   )dictzipr   )many_to_oneactualexpecteds      r>   test_groupsr      sq    s7OOO4455KK  F:3*#77HXr@   c                     t          j        d          } | j        j        }t	          t          d          |          sJ t	          t          d           |          sJ t	          t          | j                  |          sJ t	          t           |d                    |          sJ | j                                        }t	          t          |          | j        j                  sJ t          j        t          t
          d           | 
                     |d                              d          t          d                              d          k              sJ d S )NrT   r   r`   r   )rF   rU   randomRandomState
isinstancer   default_rng	GeneratorrG   
ValueErrorallrand)rV   rsrngs      r>   test_create_random_stater      s:   		W	%	%B		B)!,,b11111)$//44444)")44b99999)""Q%%00"55555
)


!
!C)#..	0CDDDDD
M*1377766""Q%%**R..$7$:$:$?$?$C$CCDDDDDDDr@   c                  N   t           j        } t          t          d          |           sJ t          t          d           |           sJ t          t           | d                    |           sJ t	          j        t          t          d           t	          j        d          }|j         j        }|j         	                    d          }|j         
                    |j                                                   }t          }t          }t          t          |j                   |          sJ t          t           |d                    |          sJ t          t          |          |          sJ t          t          |          |          sJ t          t                      |          sJ t          t                      |          sJ d}| |d          fD ]C}t          |          }	|	                    d|dz              |	                    d|dz              Dd S )Nr   r`   rT   i  l    r   r   )r   Randomr   r   rF   rG   r   rU   r   r   r   SFC64r   r   	randrangerandint)
pyrsrV   r   r   rng_explicitold_nprsnprsint64maxrprss
             r>   test_create_py_random_stater      s	   =D,Q//66666,T22D99999,TT!WW55t<<<<<
M*4c:::		W	%	%B		B
)


%
%C9&&ry'8'899L$H#D,RY77>>>>>,RRUU33X>>>>>,S11488888,\::DAAAAA+--x88888.00$77777 #H22a55\ % %$Q''aA&&&Ax!|$$$$% %r@   c                  "   t          j        d          } d}| j        j        }t	           ||                     ||                              dd                              dd          k    sJ                     g d                              g d          k    sJ                     dd          	                    dd          k    sJ 
                    d                              d	          k    sJ |                                         g d                              g d          k              sJ |                                         g dd
                              g ddd          k              sJ |                     fdt          d          D             fdt          d          D             k              sJ                                                                 k    sJ d S )NrT   rB   r   r   rZ   r   r         ?UUUUUU?r   r   Freplacec                 <    g | ]}                     d d          S r   r   r   .0_r   s     r>   
<listcomp>z:test_PythonRandomInterface_RandomState.<locals>.<listcomp>   '    ///qQ		///r@   d   c                 <    g | ]}                     d d          S r   r   r   )r   r   rs42s     r>   r   z:test_PythonRandomInterface_RandomState.<locals>.<listcomp>   s'    3331DLLA333r@   )rF   rU   r   r   r   r   r   choicegaussnormalexpovariateexponentialr   shufflesampler~   random_sample)rV   seedr   r   r   s      @@r>   &test_PythonRandomInterface_RandomStater      s   		W	%	%BD		B
4
)
)C2d88D ==A$,,q!"4"44444::iii  DKK			$:$:::::99Q??dkk!Q//////??34#3#3G#<#<<<<<66#++iii((DLL,C,CCDDDDD66

999a  DKK			4K$O$OO     66////E#JJ///3333c

333	4     ::<<4--////////r@   c                  F   t          j        d          } d}| j                            |          t	          | j                            |                                        dd                              dd          k    sJ                     g d                              g d          k    sJ                     dd          	                    dd          k    sJ 
                    d                              d	          k    sJ |                                         g d                              g d          k              sJ |                                         g dd
                              g ddd          k              sJ |                     fdt          d          D             fdt          d          D             k              sJ                                                                 k    sJ d S )NrT   rB   r   r   rZ   r   r   r   r   r   r   Fr   c                 <    g | ]}                     d d          S r   r   )r   r   pris     r>   r   z8test_PythonRandomInterface_Generator.<locals>.<listcomp>   r   r@   r   c                 <    g | ]}                     d d          S r   )integersr   s     r>   r   z8test_PythonRandomInterface_Generator.<locals>.<listcomp>   s'    3331CLLA333r@   )rF   rU   r   r   r   r   r   r   r   r   r   r   r   r   r   r~   )rV   r   r   r   s     @@r>   $test_PythonRandomInterface_Generatorr      s   		W	%	%BD
)


%
%C
	 5 5d ; ;
<
<C ==A#,,q!"4"44444::iii  CJJyyy$9$9999999Q??cjjA......??33??7#;#;;;;;66#++iii((CKK			,B,BBCCCCC66

999a  CJJyyy$J$N$NN     66////E#JJ///3333c

333	4     ::<<3::<<''''''r@   )iterable_typer   [c                 J     | g d          }t          |          |k    sJ d S )NrZ   )r   )r   r   iterables      r>   test_arbitrary_elementr      s6     }YYY''HX&&(222222r@   iteratorc              #      K   | ]}|V  d S )Nr{   )r   is     r>   	<genexpr>r     s"      Aar@   rZ   c                     t          j        t          d          5  t          |            ddd           dS # 1 swxY w Y   dS )z0Value error is raised when input is an iterator.zfrom an iterator)matchN)rF   rG   r   r   )r   s    r>   test_arbitrary_element_raisesr     s     
z);	<	<	< $ $(###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s   9= =),r   r   rF   networkxrH   networkx.utilsr   r   r   r   r   r	   r
   r   r   r   r   r   networkx.utils.miscr   r   nested_depth
nested_setnested_mixedmarkparametrizer?   rK   rP   rR   r   r   r   r   r   r   r^   r:   strsetr   r~   r   r   r{   r@   r>   <module>r      s                                          M L L L L L L L  
 >>>Aq6"	EU++%   D"zl[+<V#WXXL,
#KLL
( 
( ML YX
(D D DN N N:/ :/ :/ :/ :/ :/ :/ :/z
9 
9 
9  E E E % % %>0 0 00( ( (. !T1IqzC:Qx#P 3 3 3
 qDDOO, $ $	 $ $ $r@   