ó
 ,µ[c           @   s_   d  d l  Td  d l Td  d l Td  d l Td  d l m Z m Z d  d l Td d d „  ƒ  YZ d S(   iÿÿÿÿ(   t   *(   t   barbell_grapht   cycle_grapht   TestRelabelc           B   sª   e  Z d  „  Z d „  Z e e j ƒ d „  ƒ Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d „  Z d	 „  Z d
 „  Z e e ƒ d „  ƒ Z d „  Z d „  Z d „  Z RS(   c         C   sH  t  ƒ  } t | d ƒ } t t | j ƒ  ƒ g  ƒ t t | j ƒ  ƒ g  ƒ xj d d d d g D]V } t  ƒ  } t | d d | ƒ} t t | j ƒ  ƒ g  ƒ t t | j ƒ  ƒ g  ƒ q] Wt  ƒ  } | j d d  d! d" g ƒ t | ƒ } d „  | j ƒ  Dƒ } d „  | j ƒ  Dƒ } t t | ƒ t | ƒ ƒ t | d ƒ } d „  | j ƒ  Dƒ } d „  | j ƒ  Dƒ } t t | ƒ t | ƒ ƒ t	 | j ƒ  d d d d g ƒ t | d d ƒ} d „  | j ƒ  Dƒ } d „  | j ƒ  Dƒ } t t | ƒ t | ƒ ƒ t t | d ƒ d ƒ t t | d ƒ d ƒ t t | d ƒ d ƒ t t | d ƒ d ƒ t | d d ƒ} d „  | j ƒ  Dƒ } d „  | j ƒ  Dƒ } t t | ƒ t | ƒ ƒ t t | d ƒ d ƒ t t | d ƒ d ƒ t t | d ƒ d ƒ t t | d ƒ d ƒ t | d d d d ƒ} d „  | j ƒ  Dƒ } d „  | j ƒ  Dƒ } t t | ƒ t | ƒ ƒ t t | d ƒ d ƒ t t | d ƒ d ƒ t t | d ƒ d ƒ t t | d ƒ d ƒ t | j d d d	 ƒ t | j d d d
 ƒ t
 | j d d d k p| j d d d k ƒ t
 | j d d d k p@| j d d d k ƒ d  S(#   Nid   t   defaultt   sorteds   increasing degrees   decreasing degreet   orderingt   At   Bt   Ct   Dc         s   s   |  ] \ } } | Vq d  S(   N(    (   t   .0t   nt   d(    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pys	   <genexpr>   s    c         s   s   |  ] \ } } | Vq d  S(   N(    (   R   R   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pys	   <genexpr>   s    iè  c         s   s   |  ] \ } } | Vq d  S(   N(    (   R   R   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pys	   <genexpr>    s    c         s   s   |  ] \ } } | Vq d  S(   N(    (   R   R   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pys	   <genexpr>!   s    ié  iê  ië  c         s   s   |  ] \ } } | Vq d  S(   N(    (   R   R   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pys	   <genexpr>&   s    c         s   s   |  ] \ } } | Vq d  S(   N(    (   R   R   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pys	   <genexpr>'   s    i    i   i   i   c         s   s   |  ] \ } } | Vq d  S(   N(    (   R   R   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pys	   <genexpr>/   s    c         s   s   |  ] \ } } | Vq d  S(   N(    (   R   R   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pys	   <genexpr>0   s    t   label_attributet   labelc         s   s   |  ] \ } } | Vq d  S(   N(    (   R   R   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pys	   <genexpr>9   s    c         s   s   |  ] \ } } | Vq d  S(   N(    (   R   R   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pys	   <genexpr>:   s    (   R   R   (   R   R	   (   R   R	   (   R	   R
   (   t   empty_grapht   convert_node_labels_to_integerst   assert_equalt   listt   nodest   edgest   add_edges_fromt   degreeR   t   assert_nodes_equalt   assert_true(   t   selft   Gt   Ht   optt   degHt   degG(    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyt$   test_convert_node_labels_to_integers   sb    				2c         C   sõ   t  ƒ  } | j d d d d g ƒ t | d d ƒ} d „  | j ƒ  Dƒ } d „  | j ƒ  Dƒ } t t | ƒ t | ƒ ƒ t | d d d	 d
 ƒ} t | j d d
 d ƒ t | j d d
 d ƒ t | j d d
 d ƒ t | j d d
 d ƒ d  S(   NR	   R
   R   R   R   R   c         s   s   |  ] \ } } | Vq d  S(   N(    (   R   R   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pys	   <genexpr>K   s    c         s   s   |  ] \ } } | Vq d  S(   N(    (   R   R   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pys	   <genexpr>L   s    R   R   i    i   i   i   (   R	   R
   (   R   R   (   R   R	   (   R   R	   (   R   R   R   R   R   R   R   (   R   R   R   R   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyt   test_convert_to_integers2G   s    		c         C   s"   t  j ƒ  } t | d d ƒ} d  S(   NR   s   increasing age(   t   nxt   GraphR   (   R   R   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyt   test_convert_to_integers_raiseV   s    c         C   sv   t  ƒ  } | j d	 d
 d d g ƒ i d d 6d d 6d d 6d d 6} t | | ƒ } t | j ƒ  d d d d g ƒ d  S(   NR   R   R	   R
   t   aardvarkt   beart   catt   dog(   R   R   (   R   R	   (   R   R	   (   R	   R
   (   R   R   t   relabel_nodesR   R   (   R   R   t   mappingR   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyt   test_relabel_nodes_copy[   s
    	"c         C   s]   t  ƒ  } | j d
 d d d g ƒ d „  } t | | ƒ } t | j ƒ  d d d d	 g ƒ d  S(   NR   R   R	   R
   c         S   s
   t  |  ƒ S(   N(   t   ord(   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyR*   g   s    iA   iB   iC   iD   (   R   R   (   R   R	   (   R   R	   (   R	   R
   (   R   R   R)   R   R   (   R   R   R*   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyt   test_relabel_nodes_functionb   s
    		c         C   sl   t  d	 d
 d d g ƒ } i d d 6d d 6d d 6d d 6} t | | ƒ } t | j ƒ  d d d d g ƒ d  S(   NR   R   R	   R
   R%   R&   R'   R(   (   R   R   (   R   R	   (   R   R	   (   R	   R
   (   R#   R)   R   R   (   R   R   R*   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyt   test_relabel_nodes_graphl   s    "c         C   s„   t  ƒ  } | j d d d g ƒ | j d d g ƒ i d d 6d d 6d d 6} t | | ƒ } t | j ƒ d d d g k s€ t ‚ d  S(	   Ni   i   i   t   at   bt   c(   i   i   (   i   i   (   t   OrderedGrapht   add_nodes_fromR   R)   R   R   t   AssertionError(   R   R   R*   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyt   test_relabel_nodes_orderedgraphr   s    	c         C   sr   t  d
 d d d g ƒ } i d d 6d d 6d d 6d d 6} t | | d	 t ƒ} t | j ƒ  d d d d g ƒ d  S(   NR   R   R	   R
   R%   R&   R'   R(   t   copy(   R   R   (   R   R	   (   R   R	   (   R	   R
   (   t   DiGraphR)   t   FalseR   R   (   R   R   R*   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyt   test_relabel_nodes_digraphz   s    "c         C   sq   t  d d g ƒ } i d d 6d d 6} t | | d t ƒ} t | j ƒ  d d g ƒ t | j ƒ  d d	 g ƒ d  S(
   NR/   R0   R%   R&   R6   (   R/   R0   (   R/   R0   (   R%   R&   (   R%   R&   (   t
   MultiGraphR)   R8   R   R   t   assert_edges_equalR   (   R   R   R*   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyt   test_relabel_nodes_multigraph€   s
    c         C   sq   t  d d g ƒ } i d d 6d d 6} t | | d t ƒ} t | j ƒ  d d g ƒ t | j ƒ  d d	 g ƒ d  S(
   NR/   R0   R%   R&   R6   (   R/   R0   (   R/   R0   (   R%   R&   (   R%   R&   (   t   MultiDiGraphR)   R8   R   R   R;   R   (   R   R   R*   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyt   test_relabel_nodes_multidigraph‡   s
    c         C   sa   t  ƒ  } | j t d ƒ ƒ i d d 6} t | | d t ƒ} t | j ƒ  t t d ƒ ƒ ƒ d  S(   Ni   i   R6   (   R#   R3   t   rangeR)   R8   R   R   R   (   R   R   R*   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyt#   test_relabel_isolated_nodes_to_sameŽ   s
    	c         C   s>   t  d d	 d
 d g ƒ } i d d 6} t | | d t ƒ} d  S(   NR   R   R	   R
   R%   i    R6   (   R   R   (   R   R	   (   R   R	   (   R	   R
   (   R#   R)   R8   (   R   R   R*   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyt   test_relabel_nodes_missing•   s    c         C   s¶   t  ƒ  } t | i  d t ƒ} t | j | j ƒ t | i  d t ƒ} t | j | j ƒ d | _ t | i  d t ƒ} t | j | j ƒ t | i  d t ƒ} t | j | j ƒ d  S(   NR6   t   first(   R#   R)   t   TrueR   t   graphR8   t   name(   R   R   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyt   test_relabel_copy_name›   s    		c         C   sÓ   t  j d ƒ } t  j d ƒ } t  j | t g  t d ƒ D] } | | d f ^ q7 ƒ d t ƒ} t  j | | ƒ t  j d ƒ } t  j | t g  t d ƒ D] } | | d f ^ q— ƒ d t ƒ} t  j | | ƒ d  S(   Ni   i   R6   (   R"   t   complete_graphR)   t   dictR?   R8   t   is_isomorphic(   R   t   K5R   t   i(    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyt   test_relabel_toposort§   s    AAc         C   s  t  j d	 d
 d g ƒ } t  j | i d d 6d d 6d d 6d t ƒ} t | j ƒ  d d d g ƒ t  j d d d g ƒ } t  j | i d d 6d d 6d d 6d t ƒ} t | j ƒ  d d d g ƒ t  j d g ƒ } t  j | i d d 6d t ƒ} t | j ƒ  d g ƒ d  S(   Ni   i   i   t   Onet   Twot   ThreeR6   i    (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   R"   R7   R)   R8   R   R   R=   (   R   R   (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyt   test_relabel_selfloop°   s    --(   t   __name__t
   __module__R    R!   t   raisesR"   t   NetworkXErrorR$   R+   R-   R.   R5   R9   R<   R>   R@   t   KeyErrorRA   RF   RL   RP   (    (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyR   
   s   	<			
									N(    (	   t
   nose.toolst   networkxt   networkx.convertt   networkx.algorithms.operatorst   networkx.generators.classicR   R   t   networkx.testingR   (    (    (    s:   lib/python2.7/site-packages/networkx/tests/test_relabel.pyt   <module>   s   




