
    <ip"                        S SK r S SKrS SKrS SKJr  S SKJr  S SK	J
r
  S SKJr  S SKJr  SSKJr   " S	 S
\R"                  5      r " S S\R"                  5      r " S S\R"                  5      r " S S\R"                  5      rg)    N)	webdriver)Service)By)ChromeDriverManager)Select   )Networkc                   V    \ rS rSrSr\" \" 5       R                  5       S9rS r	S r
Srg)
GraphTests   zI
Tests to check the basic rendering of the basic network HTML and canvas
executable_pathc                 "    [        5       U l        g )Nr	   gselfs    O/home/james-whalen/.local/lib/python3.13/site-packages/pyvis/tests/test_html.pysetUpGraphTests.setUp   s        c           
         U R                   R                  / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQS9  S	nU R                   R                  U5        [        R                  " 5       nS
UR                  [        R                  S5      -   S-   U-   n[        R                  " U R                  S9nUR                  U5        UR                  S5        U R                  UR                  [        R                  S5      5        U R                  UR                  [        R                   S5      5        U R#                  UR%                  [        R                  S5      5        U R#                  UR%                  [        R                  S5      5        UR'                  5         [        R(                  R+                  SU-   5      (       a  [        R,                  " SU-   5        g g )N   r      
   d   i  zI am node 1znode 2 herezand im node 3ffffff5@r!   r!   gY@gzGk@g@@zNODE 1zNODE 2zNODE 3z#00ff1ez#162347z#dd4b39valuetitlexylabelcolorzGraphTests.htmlfile:////service皙?	mynetworkcanvasselect-menufilter-menu./)r   	add_nodesshowosgetcwdreplacesepr   Chromer/   getimplicitly_waitassertIsNotNonefind_elementr   IDTAG_NAMEassertFalsefind_elementsquitpathexistsremover   	file_name	file_pathdrivers       r   
test_graphGraphTests.test_graph   s`   -N-1F=@ 	 	B &	I IIK	!2!22663!??#E	Q	 !!$,,7

9s# 	V00DEV00hGH 	--bee]CD--bee]CD 	77>>$*++IIdY&' ,r   r   N__name__
__module____qualname____firstlineno____doc__ChromeServicer   installr/   r   rM   __static_attributes__ r   r   r   r      s*     ,?,A,I,I,KLG(r   r   c                   V    \ rS rSrSr\" \" 5       R                  5       S9rS r	S r
Srg)SelectMenuTests:   zI
Tests to check the rendering of the network HTML and select menu option
r   c                      [        SS9U l        g )NT)select_menur   r   s    r   r   SelectMenuTests.setUpA       T*r   c                 4   [         R                  " S5      nSUR                  S   S'   SUR                  S   S'   SUR                  S   S'   SUR                  S   S'   UR                  SSS	S
S9  UR                  SSS	S
S9  UR	                  SSSS9  UR                  SSSSSS9  U R
                  R                  U5        SnU R
                  R                  U5        [        R                  " 5       nSUR                  [        R                  S5      -   S-   U-   n[        R                  " U R                  S9nUR                  U5        UR!                  S5        U R#                  UR%                  [&        R(                  S5      5        U R#                  UR%                  [&        R*                  S5      5        U R#                  UR%                  [&        R(                  S5      5        U R#                  UR%                  [&        R(                  S5      5        U R-                  UR/                  [&        R(                  S5      5        UR1                  5         [        R2                  R5                  SU-   5      (       a  [        R6                  " SU-   5        g g )Nr   Number 1r   r'   groupI belong to a different group!r      coupler   sizer'   rc            weight   lonelylonely noderh   r*   r'   rc   zSelectMenuTests.htmlr,   r-   r.   r0   r1   r2   r3   select-noder4   r5   )nxcycle_graphnodesadd_nodeadd_edger   from_nxr7   r8   r9   r:   r;   r   r<   r/   r=   r>   r?   r@   r   rA   rB   rC   rD   rE   rF   rG   rH   )r   nx_graphrJ   rK   rL   s        r   rM   SelectMenuTests.test_graphD   s   >>"%%/q'"%&q'"%Eq'"%'q'""2XQ?"2XQ?"b+"2X]RSTx *	I IIK	!2!22663!??#E	Q	 !!$,,7

9s# 	V00DEV00hGHV00FGV00FG 	--bee]CD 	77>>$*++IIdY&' ,r   rO   NrP   rY   r   r   r[   r[   :   s*     ,?,A,I,I,KLG+%(r   r[   c                   R    \ rS rSr\" \" 5       R                  5       S9rS rS r	Sr
g)FilterMenuTestsl   r   c                      [        SS9U l        g )NT)filter_menur   r   s    r   r   FilterMenuTests.setUpo   r`   r   c                    [         R                  " S5      nSUR                  S   S'   SUR                  S   S'   SUR                  S   S'   SUR                  S   S'   UR                  SSS	S
S9  UR                  SSS	S
S9  UR	                  SSSS9  UR                  SSSSSS9  U R
                  R                  U5        SnU R
                  R                  U5        [        R                  " 5       nSUR                  [        R                  S5      -   S-   U-   n[        R                  " U R                  S9nUR                  U5        UR!                  S5        U R#                  UR%                  [&        R(                  S5      5        U R#                  UR%                  [&        R*                  S5      5        U R#                  UR%                  [&        R(                  S5      5        U R#                  UR%                  [&        R(                  S5      5        U R#                  UR%                  [&        R(                  S5      5        U R#                  UR%                  [&        R(                  S5      5        U R-                  UR/                  [&        R(                  S5      5        U R-                  UR/                  [&        R(                  S 5      5        UR%                  [&        R(                  S5      n[1        U5      nU R3                  UR4                  S!   R6                  S"5        U R3                  UR4                  S   R6                  S#5        U R3                  UR4                  S
   R6                  S$5        UR9                  5         [        R:                  R=                  S%U-   5      (       a  [        R>                  " S%U-   5        g g )&Nr   rb   r   r'   rc   rd   r   re   rf   r   rg   ri   rj   rk   rl   rn   ro   rp   rq   zFilterMenuTests.htmlr,   r-   r.   r0   r1   r2   r4   select-itemselect-valueselect-propertyr3   rr   r   zSelect a network itemedgenoder5   ) rs   rt   ru   rv   rw   r   rx   r7   r8   r9   r:   r;   r   r<   r/   r=   r>   r?   r@   r   rA   rB   rC   rD   r   
assertTrueoptionstextrE   rF   rG   rH   )r   ry   rJ   rK   rL   select_elementselect_objects          r   rM   FilterMenuTests.test_graphr   s   >>"%%/q'"%&q'"%Eq'"%'q'""2XQ?"2XQ?"b+"2X]RSTx *	I IIK	!2!22663!??#E	Q	 !!$,,7

9s# 	V00DEV00hGHV00FGV00FGV00GHV008IJK 	--bee]CD--bee]CD,,RUUMB~.--a0557NO--a055v>--a055v> 	77>>$*++IIdY&' ,r   rO   NrQ   rR   rS   rT   rV   r   rW   r/   r   rM   rX   rY   r   r   r|   r|   l   s#    ,?,A,I,I,KLG+.(r   r|   c                   R    \ rS rSr\" \" 5       R                  5       S9rS rS r	Sr
g)FilterAndSelectMenuTests   r   c                 "    [        SSS9U l        g )NT)r   r^   r   r   s    r   r   FilterAndSelectMenuTests.setUp   s    Tt<r   c           
      &   U R                   R                  / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQS9  S	nU R                   R                  U5        [        R                  " 5       nS
UR                  [        R                  S5      -   S-   U-   n[        R                  " U R                  S9nUR                  U5        UR                  S5        U R                  UR                  [        R                  S5      5        U R                  UR                  [        R                   S5      5        U R                  UR                  [        R                  S5      5        U R                  UR                  [        R                  S5      5        U R                  UR                  [        R                  S5      5        U R                  UR                  [        R                  S5      5        U R                  UR                  [        R                  S5      5        U R                  UR                  [        R                  S5      5        UR#                  5         [        R$                  R'                  SU-   5      (       a  [        R(                  " SU-   5        g g )Nr   r   r   r    r"   r#   r$   r%   zFilterAndSelectMenuTests.htmlr,   r-   r.   r0   r1   r2   r3   rr   r4   r   r   r   r5   )r   r6   r7   r8   r9   r:   r;   r   r<   r/   r=   r>   r?   r@   r   rA   rB   rE   rF   rG   rH   rI   s       r   rM   #FilterAndSelectMenuTests.test_graph   s   -N-1F=@ 	 	B 4	I IIK	!2!22663!??#E	Q	 !!$,,7

9s# 	V00DEV00hGHV00FGV00FGV00FGV00FGV00GHV008IJK 	77>>$*++IIdY&' ,r   rO   Nr   rY   r   r   r   r      s#    ,?,A,I,I,KLG= (r   r   )r8   unittestnetworkxrs   seleniumr   !selenium.webdriver.chrome.servicer   rV   selenium.webdriver.common.byr   webdriver_manager.chromer   !selenium.webdriver.support.selectr   networkr	   TestCaser   r[   r|   r   rY   r   r   <module>r      sk    	    F + 8 4 )("" )(X/(h'' /(d4(h'' 4(n&(x00 &(r   