ó
 ,µ[c           @   sT   d  Z  d d l Z d d l Z d d l m Z d d l Z d e f d „  ƒ  YZ d S(   s,   Unit tests for matplotlib drawing functions.iÿÿÿÿN(   t   SkipTestt	   TestPylabc           B   sh   e  Z e d  „  ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d	 „  Z RS(
   c         C   s   y? d d  l  } | j d d t ƒd d  l j a t t j d <Wn9 t k
 r^ t d ƒ ‚ n t	 k
 rz t d ƒ ‚ n Xd  S(   Niÿÿÿÿt   PSt   warns   text.usetexs   matplotlib not available.(
   t
   matplotlibt   uset   Falset   matplotlib.pyplott   pyplott   pltt   rcParamst   ImportErrorR    t   RuntimeError(   t   clst   mpl(    (    s@   lib/python2.7/site-packages/networkx/drawing/tests/test_pylab.pyt
   setupClass	   s    c         C   s   t  j d d ƒ |  _ d  S(   Ni   i   (   t   nxt   barbell_grapht   G(   t   self(    (    s@   lib/python2.7/site-packages/networkx/drawing/tests/test_pylab.pyt   setUp   s    c         C   s¹   zŒ t  j t  j t  j t  j t  j t  j g } i d d 6d d 6d d 6g } x= t j | | ƒ D]) \ } } | |  j	 |  t
 j d ƒ q^ WWd  y t j d ƒ Wn t k
 r³ n XXd  S(   Nt   blackt
   node_colorid   t	   node_sizei   t   widths   test.ps(   R   t   draw_circulart   draw_kamada_kawait   draw_randomt   draw_spectralt   draw_springt
   draw_shellt	   itertoolst   productR   R	   t   savefigt   ost   unlinkt   OSError(   R   t	   functionst   optionst   functiont   option(    (    s@   lib/python2.7/site-packages/networkx/drawing/tests/test_pylab.pyt	   test_draw   s$    c      
   C   sQ   t  |  j j ƒ  ƒ } t j |  j d | d d d t j j d t ƒt j	 ƒ  d  S(   Nt
   edge_colorR   i   t	   edge_cmapt   with_labels(
   t   rangeR   t   number_of_edgesR   R   R	   t   cmt   Bluest   Truet   show(   R   t   colors(    (    s@   lib/python2.7/site-packages/networkx/drawing/tests/test_pylab.pyt   test_edge_colormap0   s    c         C   s$   t  j |  j j ƒ  ƒ t j ƒ  d  S(   N(   R   R   R   t   to_directedR	   R2   (   R   (    (    s@   lib/python2.7/site-packages/networkx/drawing/tests/test_pylab.pyt   test_arrows6   s    c      	   C   s8   t  j |  j d d	 d
 g d d d g d d d g ƒd  S(   Nt   edgelisti    i   i   R   t   edge_colorst   rt   b(   i    i   (   i    i   (   R   R   R   (   R   (    (    s@   lib/python2.7/site-packages/networkx/drawing/tests/test_pylab.pyt   test_edge_colors_and_widths:   s    c         C   s„  t  j ƒ  } t  j | ƒ } t  j | | d d d d d g d d d d	 d
 d ƒt  j | | d d d d d g d d d d	 d
 d ƒt  j | | d d d
 d ƒt  j | | d d! d" d# d$ g d d d
 d d d ƒt  j | | d d% d& d' d( g d d d
 d d d ƒi  } d | d <d | d <d | d <d | d <d | d <d | d <d | d <d | d <t  j | | | d d  ƒt j ƒ  d  S()   Nt   nodelisti    i   i   i   R   R9   R   iô  t   alphagš™™™™™é?i   i   i   i   R:   R   g      ð?g      à?R7   i   R*   s   $a$s   $b$s   $c$s   $d$s   $\alpha$s   $\beta$s   $\gamma$s   $\delta$t	   font_sizei   (   i    i   (   i   i   (   i   i   (   i   i    (   i   i   (   i   i   (   i   i   (   i   i   (   R   t   cubical_grapht   spring_layoutt   draw_networkx_nodest   draw_networkx_edgest   draw_networkx_labelsR	   R2   (   R   R   t   post   labels(    (    s@   lib/python2.7/site-packages/networkx/drawing/tests/test_pylab.pyt   test_labels_and_colors=   s<    







c         C   s,   t  j ƒ  \ } } t j |  j d | ƒd  S(   Nt   ax(   R	   t   subplotsR   t   drawR   (   R   t   figRG   (    (    s@   lib/python2.7/site-packages/networkx/drawing/tests/test_pylab.pyt	   test_axes`   s    c         C   s   t  j ƒ  } t  j | ƒ d  S(   N(   R   t   GraphRI   (   R   R   (    (    s@   lib/python2.7/site-packages/networkx/drawing/tests/test_pylab.pyt   test_empty_graphd   s    c         C   sâ   t  j |  j ƒ } t j d ƒ t  j |  j | d d d g ƒt |  j j ƒ } g  t | ƒ D] } | | ^ q] } t | ƒ } t j d ƒ t  j |  j | d | d | ƒ| j	 d ƒ t j d ƒ t  j |  j | d | ƒd  S(	   Niƒ   R=   gš™™™™™¹?gš™™™™™É?i„   R   i   i…   (
   R   t   random_layoutR   R	   t   subplotRA   t   lent   nodesR-   t   append(   R   RD   t	   num_nodest   xR=   R3   (    (    s@   lib/python2.7/site-packages/networkx/drawing/tests/test_pylab.pyt   test_alpha_iterh   s    #(   t   __name__t
   __module__t   classmethodR   R   R)   R4   R6   R;   RF   RK   RM   RU   (    (    (    s@   lib/python2.7/site-packages/networkx/drawing/tests/test_pylab.pyR      s   						#		(	   t   __doc__R"   R   t   noseR    t   networkxR   t   objectR   (    (    (    s@   lib/python2.7/site-packages/networkx/drawing/tests/test_pylab.pyt   <module>   s
   