
    h!                     P   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j0                  j3                  ddg dgddgg      ej0                  j3                  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j0                  j3                  d%e$dfe%dfe&d&fe'dff      d'        Z(ej0                  j3                  d(d)  e)d	      D         e*g d*      f      d+        Z+y),    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                    |t        | |      }t        |      dk(  sIJ t        |      }t        |      }t        | |      }t        |      t        |      cxk(  r	d|z   k(  sJ  J t        t	        |      t
              sJ y )Nr&   )r   lenr   
issubclasstypetuple)r5   r1   val_result	nexistings        [/var/www/django_project/virt/lib/python3.12/site-packages/networkx/utils/tests/test_misc.pytest_flattenr?   /   s|     ~ff%3x2~~v,L	fg&3x3w<92	>99999d3i'''    c                  4   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       y )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   >   sz     FV$...V$...!&)!,-444
MM"""$57JK
MM"""$5{Cr@   c                  <    t        dd      } t        dg d      } y )Nr&   g      @)exponent)r   r   r   r   r   r   r   r   r   r   r   )distribution)r   r
   )zs    r>   test_random_number_distributionrP   G   s    "s+A"+LMAr@   c                   :    e Zd Zed        Zd Zd Zd Zd Zd Z	y)TestNumpyArrayc                 .    t        j                  d      ay )Nnumpy)rF   importorskipnp)clss    r>   setup_classzTestNumpyArray.setup_classN   s       )r@   c                    t         j                  g dt         j                        }t         j                  g d      }t         j                  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        |       y )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    HHYbhhH/HH[!HH[!%a()T111 #tAw...a AaDzS   b&&(91=r@   c                    ddd}t        |ddd      }t        j                  j                  |t        j	                  ddg             t        |ddd      }t        j                  j                  |t        j	                  ddg             t        |      }t        j                  j                  |j                         d       y )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7!!11-=>


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


""1557A.r@   c                 "   ddddddd}ddd}t        ||      }t        j                  j                  |t        j	                  ddgddgg             t        |      }t        j                  j                  |j                         d       y 	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   sz    "r);<"!!W5


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


""1557B/r@   c                    ddddddd}ddd}t        ||      }t        j                  j                  |t        j	                  ddgddgg             ddd}t        ||      }t        j                  j                  |t        j	                  ddgddgg             t        |      }t        j                  j                  |j                         d       y 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


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


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


""1557B/r@   c                    ddd}ddd}t        ||      }t        j                  j                  |t        j	                  ddg             t        |      }t        j                  j                  |j                         d       y )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   sg    !"73


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


""1557A.r@   N)
__name__
__module____qualname__classmethodrX   rd   rm   rr   rt   rv    r@   r>   rR   rR   M   s-    * *>/00/r@   rR   c                  n   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 y )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    !HE)J!VH, J...e%&*444t,-1AAAAbJ$%+++bJD12b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 y )	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      sS    s7O45KK F:3*#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                  j                         }t	        t        |      | j                  j                        sJ t        j                  t        t
        d       | j                   |d      j                  d      t        d      j                  d      k(        sJ y )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)$/444)"))4b999)"Q%0"555
))


!C)#.		0C0CDDD
MM*13766"Q%**R.$7$:$?$?$CCDDDr@   c                     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                   j                  d      }|j                   j                  |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 ]7  }t        |      }	|	j                  d|dz          |	j                  d|dz          9 y )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,T2D999,T!W5t<<<
MM*4c:			W	%B			B
))


%C99&&ryy'89L$H#D,RYY7>>>,RU3X>>>,S14888,\:DAAA+-x888.0$777 #H2a5\ %$Q'aA&Ax!|$%r@   c            
         t        j                  d      } d}| j                  j                  }t	         ||            } ||      }|j                  dd      |j                  dd      k(  sJ |j                  g d      |j                  g d      k(  sJ |j                  dd      |j                  dd      k(  sJ |j                  d      |j                  d	      k(  sJ | j                  |j                  g d      |j                  g d      k(        sJ | j                  |j                  g dd
      |j                  g ddd      k(        sJ | j                  t        d      D cg c]  }|j                  dd       c}t        d      D cg c]  }|j                  dd       c}k(        sJ |j                         |j!                         k(  sJ y c c}w c c}w NrT   rB   r   r   rZ   r   r   g      ?gUUUUUU?r   )r   F)replaced   r   )rF   rU   r   r   r   r   r   choicegaussnormalexpovariateexponentialr   shufflesampler~   random_sample)rV   seedr   r   rs42_s         r>   &test_PythonRandomInterface_RandomStater      s   			W	%BD			B
4
)Cd8D ==A$,,q!"4444::i DKK	$::::99Q?dkk!Q////??34#3#3G#<<<<66#++i(DLL,CCDDD66

9a DKK	4K$OO   66$)#J/qQ	/(-c
31DLLA3	4   ::<4--//// 	03s   /GG$
c            
         t        j                  d      } d}| j                  j                  |      }t	        | j                  j                  |            }|j                  dd      |j                  dd      k(  sJ |j                  g d      |j                  g d      k(  sJ |j                  dd      |j                  dd      k(  sJ |j                  d      |j                  d	      k(  sJ | j                  |j                  g d      |j                  g d      k(        sJ | j                  |j                  g dd
      |j                  g ddd      k(        sJ | j                  t        d      D cg c]  }|j!                  dd       c}t        d      D cg c]  }|j                  dd       c}k(        sJ |j                         |j                         k(  sJ y c c}w c c}w r   )rF   rU   r   r   r   r   integersr   r   r   r   r   r   r   r   r~   r   )rV   r   r   prir   s        r>   $test_PythonRandomInterface_Generatorr      s   			W	%BD
))


%C
		 5 5d ;
<C ==A#,,q!"4444::i CJJy$999999Q?cjjA....??33??7#;;;;66#++i(CKK	,BBCCC66

9a CJJy$J$NN   66$)#J/qQ	/(-c
31CLLA3	4   ::<3::<''' 	03s   ?G/'G4
)iterable_typer   [c                 8     | g d      }t        |      |k(  sJ y )NrZ   )r   )r   r   iterables      r>   test_arbitrary_elementr      s!     Y'HX&(222r@   iteratorc              #       K   | ]  }|  y w)Nr{   ).0is     r>   	<genexpr>r     s     Aas   rZ   c                 z    t        j                  t        d      5  t        |        ddd       y# 1 sw Y   yxY w)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     s0     
z);	< $(#$ $ $s   1:),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      ss          M
 >Aq6"	EU+%  D"zl[+<V#WXL,
#KL
( M Y
(DN:/ :/z
9E %>00(. !T1IqzC:Qx#P33
 qDO,$	$r@   