ó
 ,µ[c           @   sF   d  d l  m Z d  d l Z d  d l m Z d e f d „  ƒ  YZ d S(   iÿÿÿÿ(   t   SkipTestN(   t   havel_hakimi_grapht   TestGraphMatrixc           B   sA   e  Z d  Z e d „  ƒ Z d „  Z d „  Z d „  Z d „  Z RS(   i   c         C   sV   y2 d d  l  a  d d  l } d d l m a m a Wn t k
 rQ t d ƒ ‚ n Xd  S(   Niÿÿÿÿ(   t   assert_equalt   assert_almost_equals   SciPy not available.(   t   numpyt   scipyt   numpy.testingR   R   t   ImportErrorR    (   t   clsR   (    (    sE   lib/python2.7/site-packages/networkx/linalg/tests/test_graphmatrix.pyt
   setupClass
   s    c      
   C   sí  d d d d d g } t  | ƒ |  _ t j d d d d g d d d d g d d d d g d d d d g d d d d g g ƒ |  _ t j d d d d d g d d d d d g d d d d d g d d d d d g d d d d d g g ƒ |  _ t  | ƒ |  _ |  j j d „  |  j j ƒ  Dƒ ƒ t j d d d d d g d d d d d g d d d d d g d d d d d g d d d d d g g ƒ |  _	 t
 j |  j ƒ |  _ |  j j ƒ  |  _ |  j j d d ƒ t j d d d d d g d d d d d g d d d d d g d d d d d g d d d d d g g ƒ |  _ t j d d d d d g d d d d d g d d d d d g d d d d d g d d d d d g g ƒ |  _ t
 j d
 d d i d d	 6f g ƒ |  _ t j d d g d d g g ƒ |  _ d  S(   Ni   i   i   i    iÿÿÿÿc         s   s2   |  ]( \ } } | | i d  d 6d d 6f Vq d S(   g      à?t   weightg333333Ó?t   otherN(    (   t   .0t   ut   v(    (    sE   lib/python2.7/site-packages/networkx/linalg/tests/test_graphmatrix.pys	   <genexpr>$   s   g      à?i   R   (   i   i   (   R   t   GR   t   arrayt   OIt   At   WGt   add_edges_fromt   edgest   WAt   nxt
   MultiGrapht   MGt   copyt   MG2t   add_edget   MG2At   MGOIt   Grapht
   no_edges_Gt
   no_edges_A(   t   selft   deg(    (    sE   lib/python2.7/site-packages/networkx/linalg/tests/test_graphmatrix.pyt   setUp   sF    (c         C   sA  t  j |  j d t |  j ƒ d t |  j j ƒ  ƒ d t ƒj ƒ  j t ƒ } t	 | |  j
 ƒ t  j |  j d t |  j ƒ d t |  j j ƒ  ƒ d t ƒj ƒ  j t ƒ } t	 | t j |  j
 ƒ ƒ t  j |  j d t |  j ƒ d t |  j j ƒ  ƒ d t ƒj ƒ  j t ƒ } t	 | |  j
 ƒ t  j |  j d t |  j ƒ d t |  j j ƒ  ƒ d t ƒj ƒ  j t ƒ } t	 | t j |  j
 ƒ ƒ t  j |  j d t |  j ƒ d t |  j j ƒ  ƒ d t ƒj ƒ  j t ƒ } t	 | |  j ƒ t  j |  j d t |  j ƒ d t |  j j ƒ  ƒ d t ƒj ƒ  j t ƒ } t	 | t j |  j ƒ ƒ d S(   s   Conversion to incidence matrixt   nodelistt   edgelistt   orientedN(   R   t   incidence_matrixR   t   sortedR   t   Truet   todenset   astypet   intR   R   t   FalseR   t   absR   R   R   (   R#   t   I(    (    sE   lib/python2.7/site-packages/networkx/linalg/tests/test_graphmatrix.pyt   test_incidence_matrix;   s<    c      
   C   s"  t  j |  j d t |  j ƒ d t |  j j ƒ  ƒ d t ƒj ƒ  j t ƒ } t	 | |  j
 ƒ t  j |  j d t |  j ƒ d t |  j j ƒ  ƒ d t ƒj ƒ  j t ƒ } t	 | t j |  j
 ƒ ƒ t  j |  j d t |  j ƒ d t |  j j ƒ  ƒ d t d d ƒj ƒ  } t	 | d |  j
 ƒ t  j |  j d t |  j ƒ d t |  j j ƒ  ƒ d t d d ƒj ƒ  } t	 | t j d |  j
 ƒ ƒ t  j |  j d t |  j ƒ d t |  j j ƒ  ƒ d t d d ƒj ƒ  } t	 | d |  j
 ƒ t  j |  j ƒ } | j d d	 d d d d ƒt  j | d t | ƒ d t | j d
 t ƒ ƒ d t d d ƒj ƒ  } t	 | d |  j ƒ t  j | d t | ƒ d t | j d
 t ƒ ƒ d t d d ƒj ƒ  } t	 | t j d |  j ƒ ƒ t  j | d t | ƒ d t | j d
 t ƒ ƒ d t d d ƒj ƒ  } t	 | d |  j ƒ d  S(   NR&   R'   R(   R   g      à?R   g333333Ó?i    i   t   keys(   R   R)   R   R*   R   R+   R,   R-   R.   R   R   R/   R   R0   R   R   R   (   R#   R1   t   WMG(    (    sE   lib/python2.7/site-packages/networkx/linalg/tests/test_graphmatrix.pyt   test_weighted_incidence_matrix^   s`    	c         C   sz  t  t j |  j ƒ j ƒ  |  j ƒ t  t j |  j ƒ j ƒ  |  j ƒ t  t j |  j ƒ j ƒ  |  j ƒ t  t j |  j d d d g ƒj ƒ  |  j d d … d d … f ƒ t  t j |  j	 ƒ j ƒ  |  j
 ƒ t  t j |  j	 d d ƒj ƒ  |  j ƒ t  t j |  j d d ƒj ƒ  |  j ƒ t  t j |  j	 d d ƒj ƒ  d |  j
 ƒ t  t j |  j d d d	 g ƒj ƒ  |  j ƒ d S(
   s   Conversion to adjacency matrixR&   i    i   Ni   R   R   g333333ã?i   (   R   R   t
   adj_matrixR   R,   R   R   R   R   R   R   t   NoneR!   R"   (   R#   (    (    sE   lib/python2.7/site-packages/networkx/linalg/tests/test_graphmatrix.pyt   test_adjacency_matrix¢   s    """D"((,(	   t   __name__t
   __module__R   t   classmethodR
   R%   R2   R5   R8   (    (    (    sE   lib/python2.7/site-packages/networkx/linalg/tests/test_graphmatrix.pyR      s   	%	#	D(   t   noseR    t   networkxR   t   networkx.generators.degree_seqR   t   objectR   (    (    (    sE   lib/python2.7/site-packages/networkx/linalg/tests/test_graphmatrix.pyt   <module>   s   