
    \Mh!                     V    d dl Z d dlZd Zd Zd Zej        fdZej        fdZd Z	dS )    Nc                      t          j        dt           j                  } d | D             }|                     dd           d| j        d         d<   d| j        d         d	<   d
| j        d         d<   d| j        d         d<   d| j        d         d<   d| j        d         d<   d| j        d         d<   d| j        d         d	<   d| j        d         d<   d| j        d         d	<   d| j        d         d<   d| j        d         d<   d| j        d         d	<   d| j        d         d<   t          j        | |ddddddd		  	        }d }t          |                    d!          |                    d!                    D ]\  }}||k    sJ ||k    sJ d S )"N   create_usingc                     i | ]}|||fS  r   ).0ns     a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/networkx/drawing/tests/test_latex.py
<dictcomp>z(test_tikz_attributes.<locals>.<dictcomp>   s    
 
 
 1q!f
 
 
     r   Loop)r   r   labelmidwaylabel_optionsbluestylezline width=3,draw   zcircle,draw,blue!50   Stop   z1st Stepr   r   znear endz3rd Step)r   r   z
near startzbend left,green2ndr   r   zpos=0.5z$>->,bend right,line width=3,green!90Fz	[scale=3])posas_documenttikz_optionsnode_optionsedge_options
node_label
edge_labeledge_label_optionsa(  \begin{figure}
  \begin{tikzpicture}[scale=3]
      \draw
        (0, 0) node[blue] (0){0}
        (1, 1) node[line width=3,draw] (1){1}
        (2, 2) node[circle,draw,blue!50] (2){2}
        (3, 3) node (3){Stop};
      \begin{scope}[->]
        \draw (0) to node[near end] {1st Step} (1);
        \draw[loop,] (0) to node[midway] {Loop} (0);
        \draw[>->,bend right,line width=3,green!90] (1) to node[pos=0.5] {2nd} (2);
        \draw[bend left,green] (2) to node[near start] {3rd Step} (3);
      \end{scope}
    \end{tikzpicture}
\end{figure}
)	nx
path_graphDiGraphadd_edgeedgesnodesto_latexzipsplit)Gr   
output_texexpected_texexpectedactuals         r   test_tikz_attributesr2      s   
abj111A
 
 a
 
 
 CJJq!%AGFOG'/AGFOO$ AGAJw-AGAJw/AGAJw AGAJw)AGFOG'1AGFOO$)AGFOG'3AGFOO$0AGFOG$AGFOG'0AGFOO$EAGFOG	 *
 
 
JL$   2 24 8 8*:J:J4:P:PQQ " "&6!!!!!%%%%%%r   c                     t          j        d          } t          j        d          }t          j        d          }t          j        d          }g d}g d}t          j        | |||gd||          }d|v sJ d|v sJ |                    d	          dk    sJ |                    d
          dk    sJ |                    d          dk    sJ d S )Nr      )zPath on 4 nodeszComplete graph on 4 nodeszPath on 8 nodeszComplete graph on 8 nodes)fig2afig2bfig2cfig2dr   )n_rowssub_captions
sub_labelszbegin{document}zbegin{figure}zbegin{subfigure}tikzpicturez[-])r$   r%   complete_graphr*   count)H1H2H3H4captionslabels
latex_codes          r   test_basic_multiple_graphsrF   >   s   	q		B		1		B	q		B		1		B  H 211F	RR	  J 
****j((((.//14444M**a////E""a''''''r   c                  F   d} g d}t          j                    }|                    t          d                     |                    |           dddddd	d
dd}ddddd}ddddd}|                                }t          j        ||d           t          j        ||d           ddg}ddg}t          j        ||g||gdddd||ddd          }	t          | 	                    d          |		                    d                    D ]\  }
}|
|k    sJ |	| k    sJ d S )NaF  \documentclass{report}
\usepackage{tikz}
\usepackage{subcaption}

\begin{document}
\begin{figure}
  \begin{subfigure}{0.5\textwidth}
  \begin{tikzpicture}[scale=2]
      \draw[gray!90]
        (0.749, 0.702) node[red!90] (0){0}
        (1.0, -0.014) node[red!90] (1){1}
        (-0.777, -0.705) node (2){2}
        (-0.984, 0.042) node (3){3}
        (-0.028, 0.375) node[cyan!90] (4){4}
        (-0.412, 0.888) node (5){5}
        (0.448, -0.856) node (6){6}
        (0.003, -0.431) node[cyan!90] (7){7};
      \begin{scope}[->,gray!90]
        \draw (0) to (4);
        \draw (0) to (5);
        \draw (0) to (6);
        \draw (0) to (7);
        \draw (1) to (4);
        \draw (1) to (5);
        \draw (1) to (6);
        \draw (1) to (7);
        \draw (2) to (4);
        \draw (2) to (5);
        \draw (2) to (6);
        \draw (2) to (7);
        \draw (3) to (4);
        \draw (3) to (5);
        \draw (3) to (6);
        \draw (3) to (7);
      \end{scope}
    \end{tikzpicture}
    \caption{My tikz number 1 of 2}\label{tikz_1_2}
  \end{subfigure}
  \begin{subfigure}{0.5\textwidth}
  \begin{tikzpicture}[scale=2]
      \draw[gray!90]
        (0.749, 0.702) node[green!90] (0){0}
        (1.0, -0.014) node[green!90] (1){1}
        (-0.777, -0.705) node (2){2}
        (-0.984, 0.042) node (3){3}
        (-0.028, 0.375) node[purple!90] (4){4}
        (-0.412, 0.888) node (5){5}
        (0.448, -0.856) node (6){6}
        (0.003, -0.431) node[purple!90] (7){7};
      \begin{scope}[->,gray!90]
        \draw (0) to (4);
        \draw (0) to (5);
        \draw (0) to (6);
        \draw (0) to (7);
        \draw (1) to (4);
        \draw (1) to (5);
        \draw (1) to (6);
        \draw (1) to (7);
        \draw (2) to (4);
        \draw (2) to (5);
        \draw (2) to (6);
        \draw (2) to (7);
        \draw (3) to (4);
        \draw (3) to (5);
        \draw (3) to (6);
        \draw (3) to (7);
      \end{scope}
    \end{tikzpicture}
    \caption{My tikz number 2 of 2}\label{tikz_2_2}
  \end{subfigure}
  \caption{A graph generated with python and latex.}
\end{figure}
\end{document}))r   r   )r      )r      )r      )r   r   )r   rH   )r   rI   )r   rJ   )r   r   )r   rH   )r   rI   )r   rJ   )r   r   )r   rH   )r   rI   )r   rJ   r4   )g`5?g'y?)g      ?gMR )g/κg	ƒ)gw!g^c?)g͛YgI1?)gDQVڿg]]Pj?)gGgǨ?g'e)g@j?g+?Cۿ)r   r   r   r   r   rH   rI   rJ   zred!90zcyan!90)r   r   r   rJ   zgreen!90z	purple!90colorzMy tikz number 1 of 2zMy tikz number 2 of 2tikz_1_2tikz_2_2z	[scale=2]zgray!90z(A graph generated with python and latex.r   T)	r   default_node_optionsdefault_edge_optionsr   r:   r;   captionr9   r   r#   )
r$   r&   add_nodes_fromrangeadd_edges_fromcopyset_node_attributesr*   r+   r,   )r/   r(   r-   r   rc_node_colorgp_node_colorHr:   r;   r.   r0   r1   s               r   test_basic_tikzrY   W   s   HLT  E$ 	
AU1XXU2'555558	 	C !X)	JJM"zkkRRM	A1mW5551mW555+-DELj)J	
A	c
 &&!:  J    2 24 8 8*:J:J4:P:PQQ " "&6!!!!!%%%%%%r   c                    t          j        d          } | |d           dddd}t          j        t           j                  5   | ||           d d d            n# 1 swxY w Y   d|d	<   t          j        t           j                  5   | ||           d d d            n# 1 swxY w Y   d
|d	<   t          j        t           j                  5   | ||           d d d            n# 1 swxY w Y   d|d	<    | ||           d S )Nr   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   )r   r   r$   r%   pytestraisesNetworkXError)r*   r-   r   s      r   test_exception_pos_single_graphra      s   
aAHQE F
+
+C	r'	(	(  C               CF	r'	(	(  C              CF	r'	(	(  C               CFHQs6   AA#&A#B&&B*-B*C--C14C1c                 n   t          j        d          }ddd}dddd}||||g}||||g} | ||           t          j        t           j                  5   | ||           d d d            n# 1 swxY w Y    | ||           t          j        t           j                  5   | |||||g           d d d            n# 1 swxY w Y   t          j        t           j                  5   | |||||g           d d d            n# 1 swxY w Y   t          j        t           j                  5   | ||ddg           d d d            n# 1 swxY w Y   t          j        t           j                  5   | ||ddg           d d d            n# 1 swxY w Y    | ||dgd	z  d
gd	z             d S )Nr   r   r   r[   r\   hi)r:   )r;   r   lbl)r:   r;   r]   )r*   r-   pos_badpos_OKfourGfourposs         r   test_exception_multiple_graphsri      s)   
aAV$$GFv..F1aLEvvv.G HUF	r'	(	( ! !   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! HUG	r'	(	( > >'7G<===> > > > > > > > > > > > > > > 
r'	(	( ; ;&9:::; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 
r'	(	( < <tTl;;;;< < < < < < < < < < < < < < < 
r'	(	( : :T4L9999: : : : : : : : : : : : : : : HUG4&1*%1MMMMMMsZ   A//A36A3$CCC*DDD0EEE6FFFc                     t          j        dt           j                  } |                     dd           t	          j        t           j                  5  t          j        |            d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   )r$   r%   
MultiGraphr'   r^   r_   NetworkXNotImplementedr*   )r-   s    r   test_exception_multigraphrm     s    
abm444AJJq!	r0	1	1  
A                 s   A77A;>A;)
r^   networkxr$   r2   rF   rY   r*   ra   ri   rm   r   r   r   <module>ro      s        5& 5& 5&p( ( (2H& H& H&V .0[    . -/K N N N N@    r   