ó
 ,µ[c           @   s«   d  d l  m Z m Z m Z m Z m Z m Z d  d l Z d  d l	 m
 Z
 m Z m Z d  d l m Z m Z m Z m Z m Z d  d l m Z m Z d d d „  ƒ  YZ d S(	   iÿÿÿÿ(   t   assert_equalt   assert_not_equalt   assert_truet   assert_falset   assert_raisest	   assert_isN(   t   assert_nodes_equalt   assert_edges_equalt   assert_graphs_equal(   t   to_networkx_grapht   to_dict_of_dictst   from_dict_of_dictst   to_dict_of_listst   from_dict_of_lists(   t   barbell_grapht   cycle_grapht   TestConvertc           B   sb   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z RS(
   c         C   s*   t  d „  | Dƒ ƒ t  d „  | Dƒ ƒ k S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   t   sorted(   t   .0t   e(    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pys	   <genexpr>   s    (   R   (   t   selft   e1t   e2(    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pyt   edgelists_equal   s    c         C   s  xÿ t  t f t t f g D]å \ } } t d d ƒ } i  | _ | | ƒ } | | ƒ } t | | ƒ t | ƒ } t | | ƒ t j	 | ƒ } t | | ƒ t j
 d ƒ } t j
 d ƒ }	 i  | _ i  |	 _ | | d d d d g ƒ} t j	 | ƒ }
 t |
 |	 ƒ q Wd  S(   Ni
   i   i   t   nodelisti    i   i   (   R
   R   R   R   R   t   graphR   R	   t   nxt   Grapht
   path_graph(   R   t   destt   sourcet   Gt   dodt   GGt   GWt   GIt   P4t   P3t   Gdod(    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pyt   test_simple_graphs   s$    			c         C   s¯   d t  f d „  ƒ  Y} t t j t | ƒ d t  f d „  ƒ  Y} t t j t | ƒ i d d 6} t t t | ƒ d t  f d „  ƒ  Y} t t j t | ƒ t t j t d ƒ d  S(   NR   c           B   s   e  Z d  Z RS(   N(   t   __name__t
   __module__t   Nonet   adj(    (    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pyR   .   s   c           B   s   e  Z d  Z RS(   N(   R(   R)   R*   t	   is_strict(    (    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pyR   4   s   i    t   ac           B   s   e  Z d  Z RS(   N(   R(   R)   R*   t   next(    (    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pyR   >   s   (   t   objectR   R   t   NetworkXErrorR	   t	   TypeError(   R   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pyt   test_exceptions,   s    c         C   s‚  x{t  t f t t f g D]a\ } } t d ƒ } | | ƒ } | | ƒ } t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j	 ƒ  ƒ t | j	 ƒ  ƒ ƒ t
 | ƒ } t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j	 ƒ  ƒ t | j	 ƒ  ƒ ƒ t j | ƒ } t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j	 ƒ  ƒ t | j	 ƒ  ƒ ƒ t d d t j ƒ} | | ƒ } | | d t j ƒ} t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j	 ƒ  ƒ t | j	 ƒ  ƒ ƒ t
 | d t j ƒ} t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j	 ƒ  ƒ t | j	 ƒ  ƒ ƒ t j | ƒ } t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j	 ƒ  ƒ t | j	 ƒ  ƒ ƒ q Wd  S(   Ni
   t   create_using(   R
   R   R   R   R   R   R   t   nodesR   t   edgesR	   R   R   t   DiGraphR    (   R   R   R   R   R    R!   R"   R#   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pyt   test_digraphsF   s0    %%%%%%%%%%%c         C   s´  t  j d ƒ } t  j ƒ  } | j | ƒ | j d „  | j ƒ  Dƒ ƒ t | ƒ } t | d t  j ƒ} t t	 | j
 ƒ  ƒ t	 | j
 ƒ  ƒ ƒ t t	 | j ƒ  ƒ t	 | j ƒ  ƒ ƒ t | d t  j ƒ} t t	 | j
 ƒ  ƒ t	 | j
 ƒ  ƒ ƒ t t	 | j ƒ  ƒ t	 | j ƒ  ƒ ƒ t  j | ƒ } t t	 | j
 ƒ  ƒ t	 | j
 ƒ  ƒ ƒ t t	 | j ƒ  ƒ t	 | j ƒ  ƒ ƒ t | ƒ } t | d t  j ƒ} g  | j d t ƒ D] \ } }	 }
 | |	 i  f ^ qœ} t t	 | j
 ƒ  ƒ t	 | j
 ƒ  ƒ ƒ t | t	 | j d t ƒ ƒ ƒ t | d t  j ƒ} t t	 | j
 ƒ  ƒ t	 | j
 ƒ  ƒ ƒ t | t	 | j d t ƒ ƒ ƒ t  j | ƒ } t t	 | j
 ƒ  ƒ t	 | j
 ƒ  ƒ ƒ t | t	 | j d t ƒ ƒ ƒ d  S(   Ni
   c         s   s$   |  ] \ } } | | | f Vq d  S(   N(    (   R   t   ut   v(    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pys	   <genexpr>g   s    R3   t   data(   R   R   R   t   add_nodes_fromt   add_weighted_edges_fromR5   R
   R   R   R   R4   R   R	   R    R   R   t   True(   R   t   gR   R    R!   R"   R#   t   dolR8   R9   t   dt   enone(    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pyt
   test_graphc   s2    %%%%%%7%%%c         C   sm  t  d ƒ } t j ƒ  } | j | ƒ | j d „  | j ƒ  Dƒ ƒ t j ƒ  } | j | ƒ | j d „  | j ƒ  Dƒ ƒ | j d d d d ƒt j ƒ  } | j | ƒ | j d „  | j ƒ  Dƒ ƒ | j d d d d	 ƒt | ƒ } t	 | d
 t j ƒ} t
 | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ t | d
 t j ƒ} t
 | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ t j | ƒ } t
 | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ t | ƒ }	 t |	 d
 t j ƒ} g  | j d t ƒ D] \ }
 } } |
 | i  f ^ qé} t
 t | j ƒ  ƒ t | j ƒ  ƒ ƒ t | t | j d t ƒ ƒ ƒ t |	 d
 t j ƒ} t
 t | j ƒ  ƒ t | j ƒ  ƒ ƒ t | t | j d t ƒ ƒ ƒ t j |	 ƒ } t
 t | j ƒ  ƒ t | j ƒ  ƒ ƒ t | t | j d t ƒ ƒ ƒ t | ƒ } t	 | d
 t j d t ƒ} t
 t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t | d
 t j d t ƒ} t
 t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t j | ƒ } t
 t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j ƒ  ƒ t | j ƒ  ƒ k ƒ t	 | d
 t j d t ƒ} t
 t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t j | ƒ } t
 t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t j | ƒ } t
 t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t | ƒ }	 t |	 d
 t j ƒ} t
 t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t |	 d
 t j ƒ} t
 t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t j |	 ƒ } t
 t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j ƒ  ƒ t | j ƒ  ƒ ƒ d  S(   Ni
   c         s   s$   |  ] \ } } | | | f Vq d  S(   N(    (   R   R8   R9   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pys	   <genexpr>‡   s    c         s   s$   |  ] \ } } | | | f Vq d  S(   N(    (   R   R8   R9   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pys	   <genexpr>Š   s    i    i   t   weighti   c         s   s$   |  ] \ } } | | | f Vq d  S(   N(    (   R   R8   R9   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pys	   <genexpr>Ž   s    id   R3   R:   t   multigraph_input(   R   R   R   R;   R<   R5   t
   MultiGrapht   add_edgeR
   R   R   R4   R   R	   R   R   R=   R   R   t   FalseR   (   R   R   t   XGt   XGMt   XGSR    R!   R"   R#   R?   R8   R9   R@   RA   t   GEt   GM(    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pyt   test_with_multiedges_self_loopsƒ   s€    7%%%	%%%%%(	%%%%%%%%%%%c         C   s   t  j d ƒ } d d	 d
 g } t  j | ƒ } t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j d t ƒ ƒ t | j d t ƒ ƒ ƒ d d i  f d d i  f d d i  f g } t  j | ƒ } t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j d t ƒ ƒ t | j d t ƒ ƒ ƒ d „  t	 d ƒ Dƒ } t  j | ƒ } t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j ƒ  ƒ t | j ƒ  ƒ ƒ t t | j d t ƒ ƒ t | j d t ƒ ƒ ƒ d  S(   Ni   i    i   i   i   R:   c         s   s   |  ] } | | d  f Vq d S(   i   N(    (   R   t   n(    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pys	   <genexpr>â   s    (   i    i   (   i   i   (   i   i   (
   R   R   R   R   R   R4   R   R5   R=   t   range(   R   t   PR   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pyt   test_edgelistsÔ   s     %%1*%%1%%c         C   s’  d d d g } d d d	 g } t  |  j t j t j | ƒ ƒ j ƒ  | ƒ ƒ t  |  j t j t j | ƒ ƒ j ƒ  | ƒ ƒ t  |  j t j t j | ƒ ƒ j ƒ  | ƒ ƒ t  |  j t j t j | ƒ ƒ j ƒ  | ƒ ƒ t  |  j t j t j | ƒ ƒ j ƒ  | ƒ ƒ t  |  j t j t j | ƒ ƒ j ƒ  | ƒ ƒ t  |  j t j t j | ƒ ƒ j ƒ  | ƒ ƒ t  |  j t j t j | ƒ ƒ j ƒ  | ƒ ƒ d  S(
   Ni    i   i   (   i    i   (   i   i   (   i   i    (   i    i   (   i   i   (   i    i   (   R   R   R   R   R6   R5   RE   t   MultiDiGraph(   R   t   edges1t   edges2(    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pyt   test_directed_to_undirectedè   s    ....$
$
.c         C   s   t  j ƒ  } | j d ƒ t | d t  j ƒ} t t | j ƒ t | j ƒ ƒ t  j | ƒ } t t | j ƒ t | j ƒ ƒ d  S(   Nt   abcR3   (   R   t   OrderedGraphR;   R	   R    t   listR4   t   OrderedDiGraph(   R   R   t   H(    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pyt   test_attribute_dict_integrityø   s    c         C   sJ   t  j d g ƒ } t  j | d t | ƒ ƒ} t | j d t ƒ | ƒ d  S(   Ni   R   R:   (   i   i   (   R   R   t   to_edgelistRX   R   R5   R=   (   R   R   t   elist(    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pyt   test_to_edgelist  s    (   R(   R)   R   R'   R2   R7   RB   RM   RQ   RU   R[   R^   (    (    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pyR      s   					 	Q				(    (   t
   nose.toolsR    R   R   R   R   R   t   networkxR   t   networkx.testingR   R   R   t   networkx.convertR	   R
   R   R   R   t   networkx.generators.classicR   R   R   (    (    (    s:   lib/python2.7/site-packages/networkx/tests/test_convert.pyt   <module>   s
   .(