
    9 j                     J   S r SSKrSSKrSSKJrJr  SSKJrJ	r	J
r
JrJrJrJrJr   SSKrSr " S S5      rS	 rS
 r\R.                  R1                  S\R
                  " 5       \R2                  " S/5      45      S 5       r " S S5      r " S S5      rg! \ a    Sr Nsf = f)z:Generators - Directed Graphs
----------------------------
    N)GraphMultiDiGraph)_random_k_out_graph_numpy_random_k_out_graph_pythongn_graph	gnc_graph	gnr_graphrandom_k_out_graphrandom_uniform_k_out_graphscale_free_graphTFc                   &    \ rS rSrS rS rS rSrg)TestGeneratorsDirected   c                     [        S5        [        SS5        [        S5        [        S5        [        SSS9  [        SSSS9  [        SSS9  [        SSS9  g )Nd         ?*   seed)r   r	   r   r   selfs    x/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/networkx/generators/tests/test_directed.pytest_smoke_test_random_graphs4TestGeneratorsDirected.test_smoke_test_random_graphs   sL    #s#2#s$#B2&    c                 p   [         R                  " [        R                  [        S[        5       S9  [         R                  " [        R                  [        SS[        5       S9  [         R                  " [        R                  [        S[        5       S9  [	        SSS9n[	        S[        5       SS9n[        UR                  5       5      [        UR                  5       5      :X  d   e[        SSSS9n[        SS[        5       SS9n[        UR                  5       5      [        UR                  5       5      :X  d   e[        SSS9n[        S[        5       SS9n[        UR                  5       5      [        UR                  5       5      :X  d   e[        SSSSSS	[        R                  " S
[        S9SS9n[         R                  " [        [        SSSS5        [         R                  " [        [        SSS9  [         R                  " [        [        SSS9  [         R                  " [        [        SSS9  g )Nr   )create_usingr      r   )r   r   g333333?g?g?   )alphabetagammadelta_in	delta_outinitial_graphr   g333333ӿ)r    )r!   )r"   )pytestraisesnxNetworkXErrorr   r   r	   r   r   sortededgesr   cycle_graph
ValueError)r   GMGs      r   #test_create_using_keyword_arguments:TestGeneratorsDirected.test_create_using_keyword_arguments(   s   b&&#EGLb&&	3%'Rb&&	3UWMSq!cQ?aggi F288:$6666c3Q'sCln1Eaggi F288:$6666c"sa@aggi F288:$6666..F	
 	j"2Cc3Gj"2CtDj"2CdCj"2CtDr   c                    [         R                  " 5       nUR                  S5        S n[         R                  " [	        S5      U5      (       d   e[         R                  " [	        SUS9U5      (       d   e[         R                  " [        S5      U5      (       d   e[         R                  " [        SS5      U5      (       d   eg )Nr   c                     U $ N )xs    r   kernel6TestGeneratorsDirected.test_parameters.<locals>.kernelI   s    Hr   r   )r7   r   )r(   DiGraphadd_nodeis_isomorphicr   r   r	   )r   r.   r7   s      r   test_parameters&TestGeneratorsDirected.test_parametersE   s    JJL	

1	 Q////6 :A>>>>	!a0000	!S 115555r   r5   N)__name__
__module____qualname____firstlineno__r   r0   r<   __static_attributes__r5   r   r   r   r      s    	'E:
6r   r   c                      [         R                  " [        SS9   [        SSS9  S S S 5        [         R                  " [        SS9   [        SSS9  S S S 5        g ! , (       d  f       N;= f! , (       d  f       g = f)Nzdelta_in must be >= 0.match
   )r#   zdelta_out must be >= 0.)r$   )r&   r'   r-   r   r5   r   r   $test_scale_free_graph_negative_deltarH   R   sT    	z)A	Bb) 
C	z)B	Cr* 
D	C 
C	B	C	Cs   AA+
A(+
A9c                      [        / SQ5      n [        SU S9n[        U5      S:X  d   e[        UR                  5      S:X  d   eg )N))ab)rK   c)rL   rJ      r%   )r   r   lenr+   )r.   ss     r   test_non_numeric_orderingrQ   Y   s?    9:A!,Aq6Q;;qww<1r   ig)r   r   c                     [         R                  " [        R                  5         [	        SU S9  S S S 5        g ! , (       d  f       g = f)Nr   rN   )r&   r'   r(   r)   r   )rR   s    r   )test_scale_free_graph_initial_graph_kwargrT   `   s*    	r''	(B/ 
)	(	(s	   9
Ac            
           \ rS rSrSr\R                  " \R                  " \\R                  R                  \(       + SS9S9\/S9S 5       r\R                  " / SQS9S	 5       rS
 rS rS rS rSrg)TestRandomKOutGraphf   zWUnit tests for the
:func:`~networkx.generators.directed.random_k_out_graph` function.

znumpy not installed)reason)marks)paramsc              #   (   #    UR                   v   g 7fr4   paramr   requests     r   fTestRandomKOutGraph.fl   s      mm   ))rF   rM   r   )      r   )   r   rF   c              #   (   #    UR                   v   g 7fr4   r\   r^   s     r   nkalphaTestRandomKOutGraph.nkalphax   s     mmrb   c                 p   ^ Uu  nmnU" UTUSS9n[        U4S jUR                   5       5      (       d   eg)z1Test that the generated graph is `k`-out-regular.r   r   c              3   2   >#    U  H  u  pUT:H  v   M     g 7fr4   r5   .0_dks      r   	<genexpr>6TestRandomKOutGraph.test_regularity.<locals>.<genexpr>        3lda16l   N)all
out_degree)r   r`   rg   nr    r.   ro   s         @r   test_regularity#TestRandomKOutGraph.test_regularity|   s9    1eaE#3all33333r   c                 X    Uu  p4nU" X4USSS9n[         R                  " U5      S:X  d   eg)zTest for forbidding self-loops.Fr   )
self_loopsr   r   N)r(   number_of_selfloops)r   r`   rg   rv   ro   r    r.   s          r   test_no_self_loops&TestRandomKOutGraph.test_no_self_loops   s4    eaEe"5%%a(A---r   c                    ^ Uu  nmn[        UTUSS9n[        U5      U:X  d   e[        U4S jUR                   5       5      (       d   eg)zFTest that the interface function `random_k_out_graph` works correctly.r   r   c              3   2   >#    U  H  u  pUT:H  v   M     g 7fr4   r5   rk   s      r   rp   >TestRandomKOutGraph.test_random_k_out_graph.<locals>.<genexpr>   rr   rs   N)r
   rO   rt   ru   )r   rg   rv   r    r.   ro   s        @r   test_random_k_out_graph+TestRandomKOutGraph.test_random_k_out_graph   sI    1eq!U41v{{3all33333r   c                     [         R                  " [        SS9   [        SSS5        S S S 5        g ! , (       d  f       g = f)Nzalpha must be positiverD   rF   rM   rG   )r&   r'   r-   r
   r   s    r   test_negative_alpha'TestRandomKOutGraph.test_negative_alpha   s*    ]]:-EFr1b) GFFs   1
?r5   N)r>   r?   r@   rA   __doc__r&   fixturer]   r   markskipif	has_numpyr   r`   rg   rw   r|   r   r   rB   r5   r   r   rV   rV   f   s    
 ^^LL)kk((Y?T(U '
 ^^?@ A4.4*r   rV   c                   0    \ rS rSrSrS rS rS rS rSr	g)	TestUniformRandomKOutGraph   z_Unit tests for the
:func:`~networkx.generators.directed.random_uniform_k_out_graph`
function.

c                    ^ SnSm[        UT5      n[        U4S jUR                  5        5       5      (       d   e[        UTSS9n[        U4S jUR                  5        5       5      (       d   eg)z2Tests that the generated graph is `k`-out-regular.rF   rM   c              3   2   >#    U  H  u  pUT:H  v   M     g 7fr4   r5   rl   vrn   ro   s      r   rp   =TestUniformRandomKOutGraph.test_regularity.<locals>.<genexpr>        5nda16nrs   r   r   c              3   2   >#    U  H  u  pUT:H  v   M     g 7fr4   r5   r   s      r   rp   r      r   rs   N)r   rt   ru   r   rv   r.   ro   s      @r   rw   *TestUniformRandomKOutGraph.test_regularity   sa    &q!,5alln55555&q!"55alln55555r   c                    ^ SnSm[        UTSS9n[        R                  " U5      S:X  d   e[        U4S jUR	                  5        5       5      (       d   eg)z Tests for forbidding self-loops.rF   rM   F)rz   r   c              3   2   >#    U  H  u  pUT:H  v   M     g 7fr4   r5   r   s      r   rp   @TestUniformRandomKOutGraph.test_no_self_loops.<locals>.<genexpr>   r   rs   N)r   r(   r{   rt   ru   r   s      @r   r|   -TestUniformRandomKOutGraph.test_no_self_loops   sQ    &q!>%%a(A---5alln55555r   c                 R  ^ SnSm[        UTSS9nUR                  5       (       d   e[        U4S jUR                  5        5       5      (       d   eSnSm[        UTSSS9n[        R
                  " U5      S	:X  d   e[        U4S
 jUR                  5        5       5      (       d   eg )NrF   rM   Twith_replacementc              3   2   >#    U  H  u  pUT:H  v   M     g 7fr4   r5   r   s      r   rp   CTestUniformRandomKOutGraph.test_with_replacement.<locals>.<genexpr>   r   rs   	   F)r   rz   r   c              3   2   >#    U  H  u  pUT:H  v   M     g 7fr4   r5   r   s      r   rp   r      r   rs   )r   is_multigraphrt   ru   r(   r{   r   s      @r   test_with_replacement0TestUniformRandomKOutGraph.test_with_replacement   s    &q!dC    5alln55555&q!ePUV%%a(A---5alln55555r   c                    ^ SnSm[        UTSS9nUR                  5       (       a   e[        U4S jUR                  5        5       5      (       d   eg )NrF   rM   Fr   c              3   2   >#    U  H  u  pUT:H  v   M     g 7fr4   r5   r   s      r   rp   FTestUniformRandomKOutGraph.test_without_replacement.<locals>.<genexpr>   r   rs   )r   r   rt   ru   r   s      @r   test_without_replacement3TestUniformRandomKOutGraph.test_without_replacement   sK    &q!eD??$$$$5alln55555r   r5   N)
r>   r?   r@   rA   r   rw   r|   r   r   rB   r5   r   r   r   r      s    66
66r   r   )r   r&   networkxr(   networkx.classesr   r   networkx.generators.directedr   r   r   r   r	   r
   r   r   numpynpr   ImportErrorr   rH   rQ   r   parametrizer9   rT   rV   r   r5   r   r   <module>r      s      0	 	 	I
36 36l+ 
BJJx,@AB0 C0
+* +*\)6 )6y  Is   B B"!B"