ó
šxŠ\c           @   s¢   d  d l  Z d  d l Z d  d l Z d  d l m Z d  d l j j	 Z
 d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d	 e f d
 „  ƒ  YZ d S(   iÿÿÿÿN(   t   SparseDtypet   TestSparseSeriesIndexingc           B   sR  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 d „  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 d „  Z d „  Z d „  Z d „  Z e j  j! d d d g ƒ e j  j! d  e" e# e$ j% g ƒ d! „  ƒ ƒ Z& RS("   c         C   s@   t  j d t j t j d t j g ƒ |  _ |  j j ƒ  |  _ d  S(   Ni   i   (   t   pdt   Seriest   npt   nant   origt	   to_sparset   sparse(   t   selft   method(    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   setup_method   s    *c         C   sF  |  j  } |  j } | d d k s( t ‚ t j | d ƒ sA t ‚ | d d k sW t ‚ | d d d g } | d d d g j ƒ  } t j | | ƒ | | d d k } | | d d k j ƒ  } t j | | ƒ | | d d k } | | d d k j ƒ  } t j | | ƒ | t j	 | d d k d t
 ƒ} t j | | ƒ d  S(   Ni    i   i   i   i   t   dtype(   R   R   t   AssertionErrorR   t   isnanR   t   tmt   assert_sp_series_equalR   t   SparseArrayt   bool(   R	   R   R   t   resultt   exp(    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_getitem   s     		#c         C   s¦   |  j  } |  j } t j | d  | d  j ƒ  ƒ t j | d d !| d d !j ƒ  ƒ t j | d  d  d … | d  d  d … j ƒ  ƒ t j | d | d j ƒ  ƒ d  S(   Ni   i   iûÿÿÿ(   R   R   R   R   R   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_getitem_slice+   s    		$0c         C   sL  t  j d d d d d d d g d d	 ƒ} | d  d  d … } t  j d d d d g d
 d d d d g d d	 ƒ} t j | | ƒ | j t t j ƒ k sž t ‚ t  j d d d d d d d g d d d d	 ƒ} | d  d  d … } t  j d d d d g d
 d d d d g d d d d	 ƒ} t j | | ƒ | j t t j ƒ k sHt ‚ d  S(   Ni    i   i   i   i   i   i   t   namet   xxxt   indext
   fill_value(	   R   t   SparseSeriesR   R   R   R    R   t   int64R   (   R	   t   st   resR   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_getitem_int_dtype4   s    *30*c         C   s  t  j d t j d d d g ƒ } | j d d ƒ } | d d k sI t ‚ t j | d ƒ sb t ‚ | d d k sx t ‚ | d d k sŽ t ‚ | d d d g } | d d d g j d d ƒ } t j | | ƒ | | d d k } | | d d k j d d ƒ } t j | | ƒ | | d d k } | | d d k j d d ƒ } t j | | ƒ | t  j	 | d d k d t
 ƒ} t j | | ƒ d  S(   Ni   i    i   R   i   i   R   (   R   R   R   R   R   R   R   R   R   R   R   (   R	   R   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_getitem_fill_valueC   s"    !  #c         C   sz   t  j d t j d d t j g ƒ } t j | d | ƒ t  j d t j d d t j g d d ƒ} t j | d | ƒ d  S(   Ni   i   i    .R   (   R   R   R   R   R   R   (   R	   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_getitem_ellipsis^   s    $*c         C   sß   t  j d t j d d d g ƒ } | j d d ƒ } t j | d  | d  j d d ƒ ƒ t j | d d !| d d !j d d ƒ ƒ t j | d  d  d … | d  d  d … j d d ƒ ƒ t j | d | d j d d ƒ ƒ d  S(   Ni   i    i   R   i   i   iûÿÿÿ(   R   R   R   R   R   R   R   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_getitem_slice_fill_valuef   s    ! c         C   s°  |  j  } |  j } | j d d k s+ t ‚ t j | j d ƒ sG t ‚ | j d d d g } | j d d d g j ƒ  } t j | | ƒ | j	 d d d d g ƒ } | j	 d d d d g ƒ j ƒ  } t j | | ƒ t j | d ƒ sî t ‚ | j | d d k } | j | d d k j ƒ  } t j | | ƒ | j | d d k } | j | d d k j ƒ  } t j | | ƒ | j t
 j | d d k d t ƒ} t j | | ƒ d  S(	   Ni    i   i   i   i   iÿÿÿÿi   R   (   R   R   t   locR   R   R   R   R   R   t   reindexR   R   R   (   R	   R   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_locr   s&    		!&c         C   su  t  j d t j t j d t j g d t d ƒ ƒ} | j ƒ  } | j d d k sX t ‚ t j | j d ƒ st t ‚ | j d d d g } | j d d d g j ƒ  } t	 j
 | | ƒ | j | d	 d k } | j | d	 d k j ƒ  } t	 j
 | | ƒ | j | d	 d k } | j | d	 d k j ƒ  } t	 j
 | | ƒ | t  j | d	 d k d
 t ƒ} t	 j
 | | ƒ d  S(   Ni   i   R   t   ABCDEt   At   Bt   Ct   Di   R   (   R   R   R   R   t   listR   R#   R   R   R   R   R   R   (   R	   R   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_loc_index’   s    3#c         C   sT  t  j d t j d d d g d t d ƒ ƒ} | j d d ƒ } | j d d k sX t ‚ t j | j d ƒ st t ‚ | j d d	 d
 g } | j d d	 d
 g j d d ƒ } t	 j
 | | ƒ | j | d d k } | j | d d k j d d ƒ } t	 j
 | | ƒ | j | d d k } | j | d d k j d d ƒ } t	 j
 | | ƒ d  S(   Ni   i    i   R   R&   R   R'   R(   R)   R*   i   (   R   R   R   R   R+   R   R#   R   R   R   R   (   R	   R   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_loc_index_fill_value«   s    -"##c         C   s:   |  j  } |  j } t j | j d | j d j ƒ  ƒ d  S(   Ni   (   R   R   R   R   R#   R   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_loc_sliceÀ   s    		c         C   sm   t  j d t j d d d g d t d ƒ ƒ} | j d d ƒ } t j | j d | j d j d d ƒ ƒ d  S(   Ni   i    i   R   R&   R   R)   (	   R   R   R   R   R+   R   R   R   R#   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_loc_slice_index_fill_valueÅ   s    -c         C   sa   t  j d t j d d d g ƒ } | j d d ƒ } t j | j d | j d j d d ƒ ƒ d  S(   Ni   i    i   R   i   (   R   R   R   R   R   R   R   R#   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_loc_slice_fill_valueÌ   s    !c         C   sù   |  j  } |  j } | j d d k s+ t ‚ t j | j d ƒ sG t ‚ | j d d d g } | j d d d g j ƒ  } t j | | ƒ | j d d d g } | j d d d g j ƒ  } t j | | ƒ t	 j
 t ƒ  | j d d d g Wd  QXd  S(   Ni   i   i   i   iþÿÿÿiüÿÿÿi   (   R   R   t   ilocR   R   R   R   R   R   t   pytestt   raisest
   IndexError(   R	   R   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt	   test_ilocÒ   s    		c         C   sÍ   t  j d t j d d d g ƒ } | j d d ƒ } | j d d k sL t ‚ t j | j d ƒ sh t ‚ | j d d k s t ‚ | j d d d g } | j d d d g j d d ƒ } t j	 | | ƒ d  S(   Ni   i    i   R   i   (
   R   R   R   R   R   R1   R   R   R   R   (   R	   R   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_iloc_fill_valueä   s    !"c         C   s[   t  j d t j t j d t j g ƒ } | j ƒ  } t j | j d | j d j ƒ  ƒ d  S(   Ni   i   i   (   R   R   R   R   R   R   R   R1   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_iloc_sliceð   s    'c         C   sa   t  j d t j d d d g ƒ } | j d d ƒ } t j | j d | j d j d d ƒ ƒ d  S(   Ni   i    i   R   i   (   R   R   R   R   R   R   R   R1   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_iloc_slice_fill_valueõ   s    !c         C   sž  t  j d t j t j d t j g ƒ } | j ƒ  } | j d | j d k sS t ‚ t j | j d ƒ so t ‚ t j | j d ƒ s‹ t ‚ | j d | j d k s« t ‚ t j | j d ƒ sÇ t ‚ t  j d t j t j d t j g d t d ƒ ƒ} | j ƒ  } | j d | j d k s&t ‚ t j | j d	 ƒ sBt ‚ t j | j d
 ƒ s^t ‚ | j d | j d k s~t ‚ t j | j d ƒ sšt ‚ d  S(   Ni   i   i    i   i   R   t   abcdet   at   bt   ct   dt   e(	   R   R   R   R   R   t   atR   R   R+   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_atû   s    '  $  c         C   sß   t  j d t j d d d g d t d ƒ ƒ} | j d d ƒ } | j d | j d k s_ t ‚ t j | j d ƒ s{ t ‚ | j d	 | j d	 k s› t ‚ | j d
 | j d
 k s» t ‚ | j d | j d k sÛ t ‚ d  S(   Ni   i    i   R   R9   R   R:   R;   R<   R=   R>   (	   R   R   R   R   R+   R   R?   R   R   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_at_fill_value  s       c         C   sæ   |  j  } |  j } | j d | j d k s2 t ‚ t j | j d ƒ sN t ‚ t j | j d ƒ sj t ‚ | j d | j d k sŠ t ‚ t j | j d ƒ s¦ t ‚ t j | j d ƒ sÂ t ‚ | j d | j d k sâ t ‚ d  S(   Ni    i   i   i   i   iÿÿÿÿiûÿÿÿ(   R   R   t   iatR   R   R   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_iat  s    		  c         C   s  t  j d t j d d d g ƒ } | j ƒ  } | j d | j d k sM t ‚ t j | j d ƒ si t ‚ | j d | j d k s‰ t ‚ | j d | j d k s© t ‚ | j d | j d k sÉ t ‚ | j d | j d k sé t ‚ | j d | j d k s	t ‚ d  S(   Ni   i    i   i   i   iÿÿÿÿiûÿÿÿ(   R   R   R   R   R   RB   R   R   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_iat_fill_value$  s    !     c         C   s½  t  j d t j t j d t j g ƒ } | j d ƒ d k sB t ‚ t j | j d ƒ ƒ s` t ‚ | j d ƒ d  k s{ t ‚ t  j d t j d d d g d t d ƒ ƒ} | j d ƒ d k sÃ t ‚ t j | j d ƒ ƒ sá t ‚ | j d	 ƒ d k sü t ‚ | j d
 ƒ d  k st ‚ t  j d t j d d d g d t d ƒ d d ƒ} | j d ƒ d k set ‚ t j | j d ƒ ƒ sƒt ‚ | j d	 ƒ d k sžt ‚ | j d
 ƒ d  k s¹t ‚ d  S(   Ni   i   i    i   R   R&   R'   R(   R)   t   XXR   (	   R   R   R   R   t   getR   R   t   NoneR+   (   R	   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_get0  s    '-*	c         C   sß   t  j d t j t j d t j g d t d ƒ ƒ} | j ƒ  } t j | j d g ƒ | j d g ƒ j ƒ  ƒ t j | j d d d g ƒ | j d d d g ƒ j ƒ  ƒ t j | j d d g ƒ | j d d g ƒ j ƒ  ƒ d  S(   Ni   i   R   R&   i    iÿÿÿÿiþÿÿÿ(	   R   R   R   R   R+   R   R   R   t   take(   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt	   test_takeC  s    $c         C   sý   t  j d t j d d d g d t d ƒ ƒ} | j d d ƒ } t j | j d g ƒ | j d g ƒ j d d ƒ ƒ | j d d d g ƒ j d d ƒ } t j | j d d d g ƒ | ƒ | j d d g ƒ j d d ƒ } t j | j d d g ƒ | ƒ d  S(	   Ni   i    i   R   R&   R   iÿÿÿÿiþÿÿÿ(	   R   R   R   R   R+   R   R   R   RI   (   R	   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_take_fill_valueO  s    $"!c         C   sf  t  j d t j t j d t j g d t d ƒ ƒ} | j ƒ  } | j d d d d g ƒ } | j d d d d g ƒ j ƒ  } t j | | ƒ | j d	 d d g ƒ } | j d	 d d g ƒ j ƒ  } t j | | ƒ t  j t j t j t j t j t j g d t d ƒ ƒ} | j ƒ  } | j d d d d g ƒ } | j d d d d g ƒ j ƒ  } t j | | ƒ d  S(
   Ni   i   R   R&   R'   t   ER)   R*   R(   (	   R   R   R   R   R+   R   R$   R   R   (   R	   R   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_reindex]  s    $!*!c         C   sº  t  j d t j d d d g d t d ƒ ƒ} | j d d ƒ } | j d d d	 d
 g ƒ } | j d d d	 d
 g ƒ j d d ƒ } t j | | ƒ | j d d d	 g ƒ } | j d d d	 g ƒ j d d ƒ } t j | | ƒ t  j t j t j t j t j t j g d t d ƒ ƒ} | j d d ƒ } | j d d d	 d
 g ƒ } | j d d d	 d
 g ƒ j d d ƒ } t j | | ƒ t  j d d d d d g d t d ƒ ƒ} | j d d ƒ } d  S(   Ni   i    i   R   R&   R   R'   RL   R)   R*   R(   g        (	   R   R   R   R   R+   R   R$   R   R   (   R	   R   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_fill_value_reindexs  s"    -'$*'c         C   s•   t  j d t j d d d g d t d ƒ ƒ} | j d d ƒ } | j d d d	 d
 g ƒ } | j d d d	 d
 g ƒ j d d ƒ } t j | | ƒ d  S(   Ni   i    i   R   R&   R   R'   RL   R)   R*   (	   R   R   R   R   R+   R   R$   R   R   (   R	   R   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt)   test_fill_value_reindex_coerces_float_intŽ  s
    -'c         C   s}   t  j d d d g ƒ j ƒ  } | j d d d g d d ƒ} t  j d d d g d	 d d d g ƒj ƒ  } t j | | ƒ d  S(
   Ng      ð?g       @g      @i   i   i   R   i    R   (   R   R   R   R$   R   R   (   R	   t   floatsR   t   expected(    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_reindex_fill_value–  s    -c      	   C   s3  t  j t j d d d ƒƒ j ƒ  } d d d d g } | j | d d	 ƒ} t  j t j | ƒ | ƒ j ƒ  } t j | | ƒ | j | d d	 d
 d ƒ} t  j d d t j	 d g | ƒ j ƒ  } t j | | ƒ | j | d d	 d
 d d d d g ƒ} t  j d t j	 t j	 d g | ƒ j ƒ  } t j | | ƒ d  S(   Ni
   R   t   float64gš™™™™™¹?gÍÌÌÌÌÌì?g      ø?g       @R
   t   nearestt	   tolerancegš™™™™™É?i    i   i   g333333Ó?g{®Gáz„?gš™™™™™Ù?i   (
   R   R   R   t   arangeR   R$   t   aroundR   R   R   (   R	   R   t   targett   actualRQ   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_reindex_nearestœ  s    $!'*t   kindt   integert   blockt   fillc   	   
   C   s–  t  j d d d g d | ƒ} t  j t t t g d | d t ƒ} | | } t  j d d g d | ƒ} t j | | ƒ t  j | d d d	 d
 g d t j	 ƒ} t  j d d g d d d
 g d | d t
 t j	 | j ƒ ƒ} t j | | | ƒ t j | j | | ƒ t j | j | | ƒ t  j | d d d	 d
 g ƒ} t j | | | ƒ t j | j | | ƒ d } t j t d | ƒ | j | Wd  QXd  S(   Ni   i   i   R[   R   R   R   R:   R;   R<   sB   iLocation based boolean indexing cannot use an indexable as a maskt   match(   R   R   t   Truet   FalseR   R   t   assert_sp_array_equalR   R   RS   R    R   R   R#   R1   R2   R3   t
   ValueError(	   R	   R[   R^   t   arrt   indexerRQ   R   R   t   msg(    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   tests_indexing_with_sparse¬  s&    	
'$('   t   __name__t
   __module__R   R   R   R   R    R!   R"   R%   R,   R-   R.   R/   R0   R5   R6   R7   R8   R@   RA   RC   RD   RH   RJ   RK   RM   RN   RO   RR   RZ   R2   t   markt   parametrizeR`   Ra   R   R   Rg   (    (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyR      s>   									 											
										t   TestSparseSeriesMultiIndexingc           B   sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C   sg   t  j j d d	 d
 d d g ƒ } t  j d t j t j d t j g d | ƒ|  _ |  j j ƒ  |  _ d  S(   NR'   i    i   R(   R)   i   R   (   R'   i    (   R'   i   (   R(   i    (   R)   i    (   R)   i   (	   R   t
   MultiIndext   from_tuplesR   R   R   R   R   R   (   R	   R
   t   idx(    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyR   Í  s    0c         C   sŠ  |  j  } |  j } | d | d k s, t ‚ t j | d ƒ sE t ‚ | d | d k s_ t ‚ t j | d | d j ƒ  ƒ t j | d | d j ƒ  ƒ | d d d g } | d d d g j ƒ  } t j | | ƒ | | d d k } | | d d k j ƒ  } t j | | ƒ | | d d k } | | d d k j ƒ  } t j | | ƒ | t j	 | d d k d t
 ƒ} t j | | ƒ d  S(	   Ni    i   i   R'   R(   i   i   R   (   R   R   R   R   R   R   R   R   R   R   R   (   R	   R   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_getitem_multiÔ  s$    		#c         C   sb   |  j  } |  j } | d | d k s, t ‚ t j | d ƒ sE t ‚ t j | d	 ƒ s^ t ‚ d  S(
   NR)   i    R'   i   R(   (   R)   i    (   R)   i    (   R'   i   (   R(   i    (   R   R   R   R   R   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_getitem_multi_tupleñ  s
    		c         C   sÊ   |  j  } |  j } t j | d | d j ƒ  ƒ t j | j d | j d j ƒ  ƒ t j | j d | j d j ƒ  ƒ t j | j d d !| j d d !j ƒ  ƒ t j | j d  | j d  j ƒ  ƒ d  S(   Ni   R(   R)   R'   (   R   R   R   R   R   R#   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_getitems_slice_multiù  s    		$$c         C   sÜ  |  j  } |  j } t j | j d | j d j ƒ  ƒ t j | j d | j d j ƒ  ƒ | j d d d g } | j d d d g j ƒ  } t j | | ƒ | j d d d d g } | j d d d d g j ƒ  } t j | | ƒ | j d g } | j d g j ƒ  } t j | | ƒ | j | d d k } | j | d d k j ƒ  } t j | | ƒ | j | d d k } | j | d d k j ƒ  } t j | | ƒ | j t j | d d k d t ƒ} t j | | ƒ d  S(	   NR'   R(   i   i   i   i   i   R   (	   R   R   R   R   R#   R   R   R   R   (   R	   R   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyR%     s.    		&c         C   sn   |  j  } |  j } | j d | j d k s2 t ‚ t j | j d ƒ sN t ‚ t j | j d	 ƒ sj t ‚ d  S(
   NR)   i    R'   i   R(   (   R)   i    (   R)   i    (   R'   i   (   R(   i    (   R   R   R#   R   R   R   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_loc_multi_tuple+  s
    		 c         C   sÐ   |  j  } |  j } t j | j d | j d j ƒ  ƒ t j | j d | j d j ƒ  ƒ t j | j d | j d j ƒ  ƒ t j | j d d !| j d d !j ƒ  ƒ t j | j d  | j d  j ƒ  ƒ d  S(   NR'   R(   R)   (   R   R   R   R   R#   R   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyR.   3  s    		$$$c         C   so  |  j  } |  j } | j d d	 g ƒ } | j d
 d g ƒ j ƒ  } t j | | ƒ | j d d d g d d ƒ} | j d d d g d d ƒj ƒ  } t j | | ƒ | j d g d d ƒ} | j d g d d ƒj ƒ  } t j | | ƒ t j t ƒ  | j d d g ƒ Wd  QX| j | j	 d t
 ƒ} | j | j	 d t
 ƒj ƒ  } t j | | ƒ | | k	 skt ‚ d  S(   NR'   i    R)   i   R(   t   levelt   copy(   R'   i    (   R)   i   (   R'   i    (   R)   i   (   R   R   R$   R   R   R   R2   R3   t	   TypeErrorR   R`   R   (   R	   R   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyRM   >  s"    		$(
   Rh   Ri   R   Rp   Rq   Rr   R%   Rs   R.   RM   (    (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyRl   Ë  s   					&		t   TestSparseDataFrameIndexingc           B   s   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 d „  Z d „  Z d „  Z RS(   c         C   s?  t  j d t j t j g d d t j g t j t j d g d t j d g g d t d ƒ ƒ} | j ƒ  } t j | d	 | d	 j ƒ  ƒ t j | d	 g | d	 g j ƒ  ƒ t j | d
 d	 g | d
 d	 g j ƒ  ƒ t j | t	 t
 t	 t	 g | t	 t
 t	 t	 g j ƒ  ƒ t j | j d d g | j d d g j ƒ  ƒ d  S(   Ni   i   i   i   i    i   t   columnst   xyzt   xt   z(   R   t	   DataFrameR   R   R+   R   R   R   t   assert_sp_frame_equalR`   Ra   R1   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyR   ^  s    $c         C   sÛ  t  j d t j d g d d t j g d t j d g d t j d g g d t d ƒ ƒ} | j d	 d ƒ } | d
 g } | d
 g j d	 d ƒ } t j | | d t ƒt j	 | d | d j d	 d ƒ ƒ | d g j d	 d ƒ } t j | _
 t j | d g | ƒ | d
 d g j d	 d ƒ } t j | _
 t j | d
 d g | ƒ t t t t g } | | j d	 d ƒ } t j | _
 t j | | | ƒ | j d d g j d	 d ƒ } t j | _
 t j | j d d g | ƒ d  S(   Ni   i    i   i   i   i   Rx   Ry   R   R{   t   check_fill_valuet   yRz   (   R   R|   R   R   R+   R   R   R}   Ra   R   t   _default_fill_valueR`   R1   (   R	   R   R   R   RQ   R   Re   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyR    q  s0    c         C   sM  t  j d t j t j g d d t j g t j t j d g g d t d ƒ ƒ} | j ƒ  } | j d d k ss t ‚ t j | j d ƒ s t ‚ | j d d k s¨ t ‚ t	 j
 | j d | j d j d
 d ƒ ƒ t	 j
 | j d | j d j d
 d ƒ ƒ t	 j
 | j d d  d  … f | j d d  d  … f j d
 d ƒ ƒ t	 j
 | j d d  d  … f | j d d  d  … f j d
 d ƒ ƒ t	 j
 | j d  d  … d f | j d  d  … d f j ƒ  ƒ t	 j
 | j d  d  … d f | j d  d  … d f j ƒ  ƒ | j d d g } | j d d g j ƒ  } t	 j | | ƒ | j d d g d  d  … f } | j d d g d  d  … f j ƒ  } t	 j | | ƒ | j d  d  … d d	 g f } | j d  d  … d d	 g f j ƒ  } t	 j | | ƒ | j d d g d d	 g f } | j d d g d d	 g f j ƒ  } t	 j | | ƒ | j d d d d g ƒ } | j d d d d g ƒ j ƒ  } t	 j | | ƒ | j | j d d k } | j | j d d k j ƒ  } t	 j | | ƒ | j | j d d k } | j | j d d k j ƒ  } t	 j | | ƒ | j t  j | j d d k d t ƒ} t	 j | | ƒ d  S(   Ni   i   i   i   Rx   Ry   i    Rz   R{   R[   R\   R   i   R   (   i    Rz   (   i   R{   (   i   R{   (   R   R|   R   R   R+   R   R#   R   R   R   R   R}   R$   Rz   R   R   (   R	   R   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyR%   ‘  sV    &&  %%%!  )c         C   s  t  j d t j t j g d d t j g t j t j d g g d t d ƒ d t d ƒ ƒ} | j ƒ  } | j d d k s t ‚ t j | j d ƒ s› t ‚ | j d d k s´ t ‚ t	 j
 | j d	 | j d	 j d d ƒ ƒ t	 j
 | j d | j d j d d ƒ ƒ t	 j
 | j d d  d  … f | j d d  d  … f j d d ƒ ƒ t	 j
 | j d d  d  … f | j d d  d  … f j d d ƒ ƒ t	 j
 | j d  d  … d f | j d  d  … d f j ƒ  ƒ t	 j
 | j d  d  … d f | j d  d  … d f j ƒ  ƒ | j d	 d g } | j d	 d g j ƒ  } t	 j | | ƒ | j d	 d g d  d  … f } | j d	 d g d  d  … f j ƒ  } t	 j | | ƒ | j d  d  … d
 d g f } | j d  d  … d
 d g f j ƒ  } t	 j | | ƒ | j d d	 g d
 d g f } | j d d	 g d
 d g f j ƒ  } t	 j | | ƒ | j | j d d k } | j | j d d k j ƒ  } t	 j | | ƒ | j | j d d k } | j | j d d k j ƒ  } t	 j | | ƒ | j t  j | j d d k d t ƒ} t	 j | | ƒ d  S(   Ni   i   i   i   R   t   abcRx   Ry   R:   Rz   R;   R{   R<   R[   R\   R   (   R:   Rz   (   R;   R{   (   R<   R{   (   R   R|   R   R   R+   R   R#   R   R   R   R   R}   Rz   R   R   (   R	   R   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyR,   Ï  sP    &&  %%%  )c         C   s‚   t  j d t j t j g d d t j g t j t j d g g d t d ƒ ƒ} | j ƒ  } t j | j d | j d j ƒ  ƒ d  S(   Ni   i   i   i   Rx   Ry   (	   R   R|   R   R   R+   R   R   R}   R#   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyR.     s    c         C   s3  t  j d t j t j g d d t j g t j t j d g g ƒ } | j ƒ  } | j d	 d k sg t ‚ t j | j d
 ƒ sƒ t ‚ t j	 | j d | j
 d j d d ƒ ƒ t j	 | j d | j
 d j d d ƒ ƒ t j	 | j d d  d  … f | j d d  d  … f j d d ƒ ƒ t j	 | j d d  d  … f | j d d  d  … f j d d ƒ ƒ t j	 | j d  d  … d f | j d  d  … d f j ƒ  ƒ t j	 | j d  d  … d f | j d  d  … d f j ƒ  ƒ | j d d g } | j d d g j ƒ  } t j | | ƒ | j d d g d  d  … f } | j d d g d  d  … f j ƒ  } t j | | ƒ | j d  d  … d d g f } | j d  d  … d d g f j ƒ  } t j | | ƒ | j d g d d g f } | j d g d d g f j ƒ  } t j | | ƒ t j t ƒ  | j d d d g Wd  QXd  S(   Ni   i   i   i   i    R[   R\   i   (   i   i   (   i   i    (   R   R|   R   R   R   R1   R   R   R   R   R#   R}   R2   R3   R4   (   R	   R   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyR5     s@    &&  %%"c         C   s‚   t  j d t j t j g d d t j g t j t j d g g d t d ƒ ƒ} | j ƒ  } t j | j d | j d j ƒ  ƒ d  S(   Ni   i   i   i   Rx   Ry   (	   R   R|   R   R   R+   R   R   R}   R1   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyR7   7  s    c         C   së   t  j d t j d g d d t j g d t j d g d t j d g g d t d ƒ d	 t d
 ƒ ƒ} | j ƒ  } | j d | j d k s t ‚ t j | j d ƒ s« t ‚ t j | j d ƒ sÇ t ‚ | j d | j d k sç t ‚ d  S(   Ni   i    i   i   i   i   R   t   ABCDRx   Ry   R'   Rz   R(   R{   R)   R   R*   (   R'   Rz   (   R'   Rz   (   R(   R{   (   R)   R   (   R*   Rz   (   R*   Rz   (	   R   R|   R   R   R+   R   R?   R   R   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyR@   ?  s     c         C   sñ   t  j d t j d g d d t j g d t j d g d t j d g g d t d ƒ d	 t d
 ƒ ƒ} | j d d ƒ } | j d | j d k s• t ‚ t j | j d ƒ s± t ‚ t j | j d ƒ sÍ t ‚ | j d | j d k sí t ‚ d  S(   Ni   i    i   i   i   i   R   R‚   Rx   Ry   R   R'   Rz   R(   R{   R)   R   R*   (   R'   Rz   (   R'   Rz   (   R(   R{   (   R)   R   (   R*   Rz   (   R*   Rz   (	   R   R|   R   R   R+   R   R?   R   R   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyRA   K  s     c         C   s'  t  j d t j d g d d t j g d t j d g d t j d g g d t d ƒ d	 t d
 ƒ ƒ} | j ƒ  } | j d | j d k s t ‚ t j | j d ƒ s« t ‚ t j | j d ƒ sÇ t ‚ | j d | j d k sç t ‚ t j | j d ƒ st ‚ | j d | j d k s#t ‚ d  S(   Ni   i    i   i   i   i   R   R‚   Rx   Ry   iÿÿÿÿiþÿÿÿ(   i    i    (   i    i    (   i   i   (   i   i   (   i   i    (   i   i    (   iÿÿÿÿiþÿÿÿ(   iÿÿÿÿiÿÿÿÿ(   iÿÿÿÿiÿÿÿÿ(	   R   R|   R   R   R+   R   RB   R   R   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyRC   W  s      c         C   s-  t  j d t j d g d d t j g d t j d g d t j d g g d t d ƒ d	 t d
 ƒ ƒ} | j d d ƒ } | j d | j d k s• t ‚ t j | j d ƒ s± t ‚ t j | j d ƒ sÍ t ‚ | j d | j d k sí t ‚ t j | j d ƒ s	t ‚ | j d | j d k s)t ‚ d  S(   Ni   i    i   i   i   i   R   R‚   Rx   Ry   R   iÿÿÿÿiþÿÿÿ(   i    i    (   i    i    (   i   i   (   i   i   (   i   i    (   i   i    (   iÿÿÿÿiþÿÿÿ(   iÿÿÿÿiÿÿÿÿ(   iÿÿÿÿiÿÿÿÿ(	   R   R|   R   R   R+   R   RB   R   R   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyRD   f  s      c         C   sý   t  j d t j d g d d t j g d t j d g d t j d g g d t d ƒ ƒ} | j ƒ  } t j | j d g ƒ | j d g ƒ j ƒ  ƒ t j | j d d g ƒ | j d d g ƒ j ƒ  ƒ t j | j d	 d
 g ƒ | j d	 d
 g ƒ j ƒ  ƒ d  S(   Ni   i    i   i   i   i   Rx   Ry   iÿÿÿÿiþÿÿÿ(	   R   R|   R   R   R+   R   R   R}   RI   (   R	   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyRJ   u  s    c         C   sK  t  j d t j d g d d t j g d t j d g d t j d g g d t d ƒ ƒ} | j d	 d ƒ } | j d g ƒ j d	 d ƒ } t j | _ t j	 | j d g ƒ | ƒ | j d d g ƒ j d	 d ƒ } t j | _ t j	 | j d d g ƒ | ƒ | j d
 d g ƒ j d	 d ƒ } t j | _ t j	 | j d
 d g ƒ | ƒ d  S(   Ni   i    i   i   i   i   Rx   Ry   R   iÿÿÿÿiþÿÿÿ(
   R   R|   R   R   R+   R   RI   R€   R   R}   (   R	   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyRK   „  s    !!c         C   s†  t  j d t j d g d d t j g d t j d g d t j d g g d t d ƒ d	 t d
 ƒ ƒ} | j ƒ  } | j d d d g ƒ } | j d d d g ƒ j ƒ  } t j | | ƒ t  j t j t j t j g t j t j t j g t j t j t j g t j t j t j g g d t d ƒ d	 t d
 ƒ ƒ} | j ƒ  } | j d d d g ƒ } | j d d d g ƒ j ƒ  } t j | | ƒ d  S(   Ni   i    i   i   i   i   R   R‚   Rx   Ry   R'   R)   R(   (	   R   R|   R   R   R+   R   R$   R   R}   (   R	   R   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyRM   ˜  s$    c         C   s\  t  j d t j d g d d t j g d t j d g d t j d g g d t d ƒ d	 t d
 ƒ ƒ} | j d d ƒ } | j d d d g ƒ } | j d d d g ƒ j d d ƒ } t j | | ƒ t  j t j t j t j g t j t j t j g t j t j t j g t j t j t j g g d t d ƒ d	 t d
 ƒ ƒ} | j d d ƒ } | j d d d g ƒ } | j d d d g ƒ j d d ƒ } t j | | ƒ t  j d d d g d d d g d d d g d d d g g d t d ƒ d	 t d
 ƒ d t j	 ƒ} | j d d ƒ } | j d d d g ƒ } | j d d d g ƒ j d d ƒ } t j | | ƒ d  S(   Ni   i    i   i   i   i   R   R‚   Rx   Ry   R   R'   R)   R(   R   (
   R   R|   R   R   R+   R   R$   R   R}   t   int(   R	   R   R   R   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyRR   ¯  s8    $$$(   Rh   Ri   R   R    R%   R,   R.   R5   R7   R@   RA   RC   RD   RJ   RK   RM   RR   (    (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyRw   \  s   		 	>	7		)								t   TestMultitypec           B   s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sü   d d d d g |  _  t j d d d g ƒ |  _ t j d d	 d
 g ƒ |  _ t j d d d g ƒ |  _ t j g  i  t ƒ  g ƒ |  _ t j i |  j d 6|  j d 6|  j d 6|  j d 6ƒ |  _	 |  j	 |  j  |  _	 t j d d d g  g d |  j  ƒ|  _
 d  S(   Nt   stringRƒ   t   floatt   objectR:   R;   R<   i   i   i   gš™™™™™ñ?g333333ó?gÍÌÌÌÌÌô?R   (   t   colsR   R   t   string_seriest
   int_seriest   float_seriest   sett   object_seriest   SparseDataFramet   sdft   ss(   R	   R
   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyR   ×  s    	


c         C   s¿   x8 |  j  j ƒ  D]' \ } } | j t t ƒ k s t ‚ q Wt j |  j  d |  j d t	 ƒt j |  j  d |  j
 d t	 ƒt j |  j  d |  j d t	 ƒt j |  j  d |  j d t	 ƒd  S(   NR…   t   check_namesRƒ   R†   R‡   (   R   t   iterrowsR   R    R‡   R   R   R   R‰   Ra   RŠ   R‹   R   (   R	   t   _t   row(    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_frame_basic_dtypesç  s    c         C   sÁ   t  j |  j j d t j d d d g  g d |  j ƒd t ƒt  j |  j j d t j d d d	 i  g d |  j ƒd t ƒt  j |  j j d t j d
 d d t ƒ  g d |  j ƒd t ƒd  S(   Ni    R:   i   gš™™™™™ñ?R   R‘   R;   i   g333333ó?R<   i   gÍÌÌÌÌÌô?(	   R   R   R   R1   R   R   Rˆ   Ra   RŒ   (   R	   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_frame_indexing_singleó  s    c         C   s  t  j |  j |  j ƒ t  j |  j |  j j ƒ t  j |  j j d d g t j i |  j j d d g d 6|  j j d d g d 6|  j	 j d d g d 6|  j
 j d d g d 6d d d g ƒ|  j ƒ t  j |  j d d g t j i |  j d 6|  j d 6ƒ ƒ d  S(   Ni   i   R…   Rƒ   R†   R‡   R   (   R   R}   R   R#   R1   R   RŽ   R‰   RŠ   R‹   R   Rˆ   (   R	   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_frame_indexing_multiple  s    		
c         C   sÒ   xg t  |  j ƒ D]V \ } } |  j j | |  j | k s? t ‚ t j |  j j | |  j | d d ƒq W|  j d d k sƒ t ‚ |  j d d k sœ t ‚ |  j d d k sµ t ‚ |  j d	 g  k sÎ t ‚ d  S(
   Nt   objs   series indexR…   R:   Rƒ   i   R†   gš™™™™™ñ?R‡   (   t	   enumerateRˆ   R   R1   R   R   t   assert_class_equal(   R	   t   iRo   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_series_indexing_single  s    # c         C   sz   t  j |  j j d d g t j d d g d d d g ƒƒ t  j |  j j d d g t j d g  g d d d g ƒƒ d  S(   NR…   Rƒ   R:   i   R   R‡   (   R   R   R   R#   R   R   (   R	   (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   test_series_indexing_multiple  s    (   Rh   Ri   R   R•   R–   R—   Rœ   R   (    (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyR„   Õ  s   					(   t   numpyR   R2   t   pandasR   t   pandas.core.sparse.apiR    t   pandas.util.testingt   utilt   testingR   R‡   R   Rl   Rw   R„   (    (    (    s@   lib/python2.7/site-packages/pandas/tests/sparse/test_indexing.pyt   <module>   s   ÿ Á‘ÿ z