ó
 ,µ[c           @   sö   d  d l  m Z d  d l m Z d  d l Z d  d l m Z d  d l m Z d  d l	 Z
 d  d l j j Z d  d l m Z d  d l m Z d  d l m Z d	 e f d
 „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d S(   iÿÿÿÿ(   t   division(   t   BytesION(   t   TestCase(   t   assert_equal(   t   assert_edges_equal(   t   assert_graphs_equal(   t   assert_nodes_equalt   TestGraph6Utilsc           B   s   e  Z d  „  Z RS(   c      
   C   s¬   x¥ d d d d d d d d d	 d
 g
 D] } t  t j t j | ƒ ƒ d | ƒ t  t j t j | ƒ ƒ d g  ƒ t  t j t j | ƒ d d g ƒ d d d g ƒ q% Wd  S(   Ni    i   i*   i>   i?   i@   iÿï i ð i-v Iÿÿÿÿ   i+   (   R   t   g6t	   data_to_nt	   n_to_data(   t   selft   i(    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyt   test_n_data_n_conversion   s
    +##&(   t   __name__t
   __module__R   (    (    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyR      s   t   TestFromGraph6Bytesc           B   s   e  Z d  „  Z d „  Z RS(   c      
   C   sc   d } t  j | ƒ } t | j ƒ  d d d d d g ƒ t | j ƒ  d d d	 d
 d d d g ƒ d  S(   Ns   DF{i    i   i   i   i   (   i    i   (   i    i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   t   nxt   from_graph6_bytesR   t   nodesR   t   edges(   R   t   datat   G(    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyt   test_from_graph6_bytes   s
    "c         C   sf   d } t  j | ƒ } t | ƒ } t  j | ƒ } t | j ƒ  | j ƒ  ƒ t | j ƒ  | j ƒ  ƒ d  S(   Ns   DF{(   R   R   R   t   read_graph6R   R   R   R   (   R   R   R   t   fht   Gin(    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyt   test_read_equals_from_bytes#   s    (   R   R   R   R   (    (    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyR      s   	t   TestReadGraph6c           B   s   e  Z d  „  Z RS(   c         C   sh   d } t  | ƒ } t j | ƒ } t t | ƒ d ƒ x- | D]% } t t | ƒ t t d ƒ ƒ ƒ q; Wd S(   s5   Test for reading many graphs from a file into a list.s   DF{
D`{
DqK
D~{
i   i   N(   R   R   R   R   t   lent   sortedt   listt   range(   R   R   R   t   glistR   (    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyt   test_read_many_graph6.   s    (   R   R   R"   (    (    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyR   ,   s   t   TestWriteGraph6c           B   sq   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z RS(   s:   Unit tests for writing a graph to a file in graph6 format.c         C   s9   t  ƒ  } t j t j ƒ  | ƒ |  j | j ƒ  d ƒ d  S(   Ns   >>graph6<<?
(   R   R   t   write_graph6t
   null_grapht   assertEqualt   getvalue(   R   t   result(    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyt   test_null_graph;   s    	c         C   s9   t  ƒ  } t j t j ƒ  | ƒ |  j | j ƒ  d ƒ d  S(   Ns   >>graph6<<@
(   R   R   R$   t   trivial_graphR&   R'   (   R   R(   (    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyt   test_trivial_graph@   s    	c         C   s<   t  ƒ  } t j t j d ƒ | ƒ |  j | j ƒ  d ƒ d  S(   Ni   s   >>graph6<<C~
(   R   R   R$   t   complete_graphR&   R'   (   R   R(   (    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyt   test_complete_graphE   s    	c         C   sN   t  ƒ  } t j t j d ƒ | d t ƒ|  j | j ƒ  d d d d ƒ d  S(   NiC   t   headers   ~?@Bt   ~ip  s   w
(   R   R   R$   R,   t   FalseR&   R'   (   R   R(   (    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyt   test_large_complete_graphJ   s    	c         C   sB   t  ƒ  } t j t j d ƒ | d t ƒ|  j | j ƒ  d ƒ d  S(   Ni   R.   s   C~
(   R   R   R$   R,   R0   R&   R'   (   R   R(   (    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyt   test_no_headerO   s    	c         C   sK   t  ƒ  } t j d d ƒ } t j | | d t ƒ|  j | j ƒ  d ƒ d  S(   Ni   i	   R.   s   N??F~z{~Fw^_~?~?^_?
(   R   R   t   complete_bipartite_graphR$   R0   R&   R'   (   R   R(   R   (    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyt   test_complete_bipartite_graphT   s    	c         C   s6   |  j  t j ƒ  t j t j ƒ  t ƒ  ƒ Wd  QXd  S(   N(   t   assertRaisesR   t   NetworkXNotImplementedR$   t   DiGraphR   (   R   (    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyt   no_directed_graphs[   s    c         C   sÈ   xÁ t  t d ƒ ƒ d d d d d d g D]— } t j j | | | d d	 | ƒ} t ƒ  } t j | | d
 t ƒ| j ƒ  j	 ƒ  } t
 t | ƒ | d | d d d | d k  r¸ d n d ƒ q) Wd  S(   Ni   i   i/   i>   i?   i@   iH   i   t   seedR.   i   i   i   i   (   R   R    R   t   random_graphst   gnm_random_graphR   R$   R0   R'   t   rstripR   R   (   R   R   t   gt   gstr(    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyt   test_length_   s    /#	c         C   sÁ   xº t  t d ƒ ƒ d d d d d d g D] } t j j | | | d d	 | ƒ} t ƒ  } t j | | ƒ | j d
 ƒ t j | ƒ } t	 | j
 ƒ  | j
 ƒ  ƒ t | j ƒ  | j ƒ  ƒ q) Wd  S(   Ni   i   i/   i>   i?   i@   iH   i   R9   i    (   R   R    R   R:   R;   R   R$   t   seekR   R   R   R   R   (   R   R   R   t   ft   H(    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyt   test_roundtripi   s    /#	c         C   sR   t  j ƒ  @ } t j t j ƒ  | ƒ | j d ƒ |  j | j ƒ  d ƒ Wd  QXd  S(   Ni    s   >>graph6<<?
(	   t   tempfilet   NamedTemporaryFileR   t   write_graph6_fileR   R%   R@   R&   t   read(   R   RA   (    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyt   test_write_paths   s    c         C   s|   t  j d g ƒ } t t j | ƒ d ƒ t  j d g ƒ } t t j | ƒ d ƒ t  j d g ƒ } t t j | ƒ d ƒ d  S(	   Ni    i   s   >>graph6<<A_
i   i*   (   i    i   (   i   i   (   i   i*   (   R   t   GraphR   R   t   to_graph6_bytes(   R   R   (    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyt   test_relabelingy   s    (   R   R   t   __doc__R)   R+   R-   R1   R2   R4   R8   R?   RC   RH   RK   (    (    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyR#   8   s   								
	
	(   t
   __future__R    t   ioR   RD   t   unittestR   t
   nose.toolsR   t   networkxR   t   networkx.readwrite.graph6t	   readwritet   graph6R   t   networkx.testing.utilsR   R   R   t   objectR   R   R   R#   (    (    (    sC   lib/python2.7/site-packages/networkx/readwrite/tests/test_graph6.pyt   <module>   s   
