ó
šxŠ\c        
   @   s^  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z d  d l m	 Z	 d  d l
 j j Z d  d l Z d  d l m Z d  d l m Z m Z m Z d  d l j j Z d  d l m Z e j d d d	 g ƒ d
 „  ƒ Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d „  Z d „  Z  e j! j" d e# d d g d f d e# d g d f d d e# g d f d d d e# e# g d f d d d d g d  f g  d  f g ƒ d „  ƒ Z$ e j! j" d d d e j% e j% g d e j% d e j% g d d e j% g g ƒ e j! j" d e j% d d g ƒ d „  ƒ ƒ Z& d „  Z' d „  Z( d „  Z) d S(   iÿÿÿÿN(   t   IntIndex(   t   range(   t   isna(   t   SparseArrayt   SparseDtypet   SparseSeries(   t   assert_almost_equalt   paramst   integert   blockc         C   s   |  j  S(   N(   t   param(   t   request(    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   kind   s    t   TestSparseArrayc           B   se  e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e j	 j
 d e e d ƒ e g ƒ d „  ƒ Z d	 „  Z e j	 j
 d
 df e d d g ƒ g ƒ d „  ƒ Z d „  Z e j	 j
 d e j d d g ƒ d f e j d d g ƒ e j f e e g e f e j d ƒ g e j f g ƒ d „  ƒ Z e j	 j
 d e e e e ƒ f d e d d ƒ f d e d d ƒ f d e d d ƒ f g ƒ d „  ƒ Z e j	 j
 d d e j d g ƒ d „  ƒ Z e j	 j
 d e e e j g ƒ d „  ƒ Z d „  Z  d „  Z! d  „  Z" d! „  Z# d" „  Z$ e j	 j
 d# d df e j g ƒ d$ „  ƒ Z% d% „  Z& d& „  Z' d' „  Z( d( „  Z) d) „  Z* d* „  Z+ d+ „  Z, d, „  Z- d- „  Z. d. „  Z/ d/ „  Z0 d0 „  Z1 d1 „  Z2 d2 „  Z3 e j	 j
 d3 e4 d d g ƒ d4 e4 d d g d e e5 d ƒ ƒf e4 d d g ƒ e e4 e e g ƒ f e4 d d g d# d ƒe e4 e e g d e e e ƒ ƒf e j6 e4 d d g ƒ d5 e4 e j d d g d d5 ƒd e d5 e j d6 ƒ ƒ ƒd7 e j	 j7 d8 d9 ƒ g ƒe4 d d d: g ƒ e8 e4 d; d< d= g d e e8 d; ƒ ƒf e4 d= d> g ƒ e5 e4 d? d@ g ƒ f e4 d d d g ƒ e9 e4 d d d g d e e9 d ƒ ƒf g ƒ dA „  ƒ Z: dB „  Z; dC „  Z< e j	 j
 dD d d dE g e j d d g ƒ dg g ƒ dF „  ƒ Z= dG „  Z> dH „  Z? e j	 j
 dI d d d d d g dh df f g  di df f d g dj df f dK dK e j dL g dk e j9 f g ƒ dN „  ƒ Z@ e j	 j
 dO e j e j e j e j e j g d e j e j dE e j g d e j d dE d g g ƒ e j	 j
 dP dQ dR g ƒ e j	 j
 d# df d g ƒ dS „  ƒ ƒ ƒ ZA dT „  ZB dU „  ZC dV „  ZD dW „  ZE dX „  ZF e j	 j
 dY dZ d[ d\ d] d^ d_ g ƒ d` „  ƒ ZG da „  ZH db „  ZI dc „  ZJ dd „  ZK de „  ZL RS(l   c         C   s…   t  j t  j t  j d d d t  j d d t  j d g
 ƒ |  _ t |  j ƒ |  _ t d d d d d d d d d d g
 d d ƒ|  _ d  S(	   Ni   i   i   i   i   i   i    t
   fill_value(   t   npt   arrayt   nant   arr_dataR   t   arrt   zarr(   t   selft   method(    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   setup_method   s    !c         C   s’  t  t j d d t j g ƒ } | j t t j t j ƒ k sB t ‚ | j j t j k s] t ‚ t j | j	 ƒ su t ‚ t  t j d d t j g d d ƒ} | j t t j d ƒ k sº t ‚ | j	 d k sÏ t ‚ t  d d d d g d t j ƒ} | j t t j t j ƒ k st ‚ t j | j	 ƒ s,t ‚ t  d d d d g d t j
 ƒ} | j t t j
 d ƒ k snt ‚ | j	 d k sƒt ‚ t  d d d d g d d d t j
 ƒ} | j t t j
 d ƒ k sËt ‚ | j	 d k sàt ‚ t  d d d d g d d  ƒ} | j t t j
 d ƒ k st ‚ | j	 d k s4t ‚ t  d d d d g d d d d  ƒ} | j t t j
 d ƒ k syt ‚ | j	 d k sŽt ‚ d  S(   Ni   i   R   i    i   t   dtype(   R   R   R   R   R   t   float64t   AssertionErrort   subtypet   isnanR   t   int64t   None(   R   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_constructor_dtype    s,    $$!!$!!'!!$!c         C   sJ   t  d d d g d d ƒ} t  d d d g d t ƒ} t j | | ƒ d  S(   Ni   i   i   R   t   int(   R   R    t   tmt   assert_sp_array_equal(   R   t   resultt   expected(    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_constructor_dtype_str>   s    c         C   sƒ   t  d d d d g d t d d ƒ ƒ} t  d d d d g d d d t j ƒ} t j | | ƒ | j j t j d ƒ k s t ‚ d  S(   Ni   i    R   R   iÿÿÿÿR   (	   R   R   R   R   R!   R"   t	   sp_valuesR   R   (   R   R#   R$   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_constructor_sparse_dtypeC   s    ''c         C   st   t  d d d d g d d ƒ} t  d d d d g d t j ƒ} t j | | ƒ | j j t j d ƒ k sp t ‚ d  S(   Ni   i    R   s   Sparse[int32]t   int32(   R   R   R(   R!   R"   R&   R   R   (   R   R#   R$   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt!   test_constructor_sparse_dtype_strI   s    !c         C   sv  t  d d t j d g d t j ƒ} | j t t j ƒ k sB t ‚ t j | j ƒ sZ t ‚ t  d d t j d g d t j d d ƒ} | j t t j d ƒ k s¥ t ‚ | j d k sº t ‚ t	 d d d g } t  | d t j d t	 ƒ} | j t t j t	 ƒ k st ‚ | j t	 k st ‚ t j
 | d t j ƒ} d „  t | | ƒ Dƒ } t j | d t j ƒj ƒ  srt ‚ d  S(	   Nt   At   BR   R   i    g      Y@g        c         s   s9   |  ]/ \ } } t  | ƒ t  | ƒ k o0 | | k Vq d  S(   N(   t   type(   t   .0t   xt   y(    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pys	   <genexpr>`   s    (   R   R   R   t   objectR   R   R   R   R   t   FalseR   t   zipt   fromitert   boolt   all(   R   R   t   datat   arr_expectedt   it(    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_constructor_object_dtypeO   s    $!	!!R   i    c         C   s<   t  j t d d ƒ! t d d t j g d | ƒWd  QXd  S(   Nt   matchs   Cannot converti    i   R   (   t   pytestt   raisest
   ValueErrorR   R   R   (   R   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_constructor_na_dtypec   s    c      	   C   sx  t  d d d g d t d d d g ƒ ƒ } t  d d d d g d d ƒ} t j | | ƒ | j t t j ƒ k sv t ‚ | j	 d k s‹ t ‚ t  d d d d	 g d t d d d d	 g ƒ d
 t j d d ƒ } t  d d d d	 g d
 t j d d ƒ} t j | | ƒ | j t t j ƒ k st ‚ | j	 d k s4t ‚ t  d d d g d t d d d g ƒ d d d
 t j ƒ } t  d d d d g d d d
 t j ƒ} t j | | ƒ | j t t j ƒ k sÂt ‚ | j	 d k s×t ‚ t  d d d d	 g d t d d d d	 g ƒ d
 d  d d ƒ } t  d d d d	 g d
 d  ƒ} t j | | ƒ | j t t j ƒ k s_t ‚ | j	 d k stt ‚ d  S(   NR6   i   i   t   sparse_indexi   i    R   R   i   R   R   (   R   R    R!   R"   R   R   R   R   R   R   R   (   R   R   R$   t   exp(    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_constructor_spindex_dtypeh   s2    *'''R?   i   c         C   sö   t  d d d | d d  ƒ } t  d g d d  ƒ} t j | | ƒ | j t t j ƒ k s^ t ‚ | j	 d k ss t ‚ t  d d d t
 d d g ƒ d d  ƒ } t  d g d d  ƒ} t j | | ƒ | j t t j ƒ k sÝ t ‚ | j	 d k sò t ‚ d  S(   NR6   i   R?   R   i    (   R   R   R!   R"   R   R   R   R   R   R   R    (   R   R?   R   R@   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt%   test_constructor_spindex_dtype_scalarˆ   s    'c      	   C   s¡   t  d d d g d t d d d g ƒ d d d d  ƒ } t  d d d d g d d d d  ƒ} t j | | ƒ | j t t j ƒ k sˆ t	 ‚ | j
 d k s t	 ‚ d  S(	   NR6   i   i   R?   i   R   i    R   (   R   R    R   R!   R"   R   R   R   R   R   R   (   R   R   R@   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt0   test_constructor_spindex_dtype_scalar_broadcasts™   s    '$s   data, fill_valuei   g      ð?g       @s
   2017-01-01c         C   sL   t  | ƒ j } t j | ƒ r6 t j | ƒ sH t ‚ n | | k sH t ‚ d  S(   N(   R   R   t   pdR   R   (   R   R6   R   R#   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt$   test_constructor_inferred_fill_value¡   s    s   scalar,dtypeg        R   R   t   zR0   c         C   sz   t  | d d d d g d | ƒ} t  | | | g d | ƒ} t j | | ƒ | j | k sa t ‚ | j | k sv t ‚ d  S(   Nt   indexi   i   i   R   (   R   R!   R"   R   R   (   R   t   scalarR   R   R@   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt"   test_scalar_with_index_infer_dtype¯   s
    !t   fillc         C   sÓ   t  t j d t j d d g d | d | ƒ} t  t | ƒ ƒ } t j | | ƒ t  d d d d d d g d t j d | d | ƒ} t  t | ƒ d t j ƒ} t j | | ƒ t  t | ƒ ƒ } t j | | ƒ d  S(   Ni   i   i   R   R   i    R   (   R   R   R   R   R!   R"   R   (   R   R   RJ   R   t   res(    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_sparse_series_round_trip¾   s    $c         C   su   t  t t t t g d t j d | d | ƒ} t  t | ƒ ƒ } t j | | ƒ t  t | ƒ ƒ } t j | | ƒ d  S(   NR   R   R   (   R   t   TrueR1   R   R4   R   R!   R"   (   R   R   RJ   R   RK   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_sparse_series_round_trip2Î   s    c         C   s'  t  j |  j d ƒ s t ‚ |  j d d k s5 t ‚ |  j d d k sN t ‚ |  j d d k sg t ‚ |  j d d k s€ t ‚ |  j d d k s™ t ‚ t j d ƒ } t j t	 d | ƒ |  j d Wd  QXt j t	 d | ƒ |  j d	 Wd  QX|  j d
 |  j t
 |  j ƒ d k s#t ‚ d  S(   Ni   i   i   i   i    t   boundsR:   i   iõÿÿÿiÿÿÿÿ(   R   R   R   R   R   t   ret   compileR;   R<   t
   IndexErrort   len(   R   t   errmsg(    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_get_itemÙ   s    c         C   s6   d } t  j t d | ƒ |  j j d ƒ Wd  QXd  S(   Ns-   'indices' must be an array, not a scalar '2'.R:   i   (   R;   R<   R=   R   t   take(   R   t   msg(    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_take_scalar_raisesí   s    c         C   s   t  t j |  j d d g ƒ ƒ } t j |  j j d d g ƒ | ƒ t  t j |  j d d d g ƒ ƒ } t j |  j j d d d g ƒ | ƒ d  S(   Ni   i   i    i   (   R   R   RV   R   R!   R"   R   (   R   R@   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt	   test_takeò   s    !"$c         C   s½   t  j d t  j d d d g ƒ } t | d d ƒ} t t  j | d g ƒ d d ƒ} t j | j d g ƒ | ƒ t t  j | d d d g ƒ d d ƒ} t j | j d d d g ƒ | ƒ d  S(   Ni   i    i   R   i   (   R   R   R   R   RV   R!   R"   (   R   R6   t   sparseR@   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_take_fill_valueù   s    !!'c         C   sŠ   t  t j |  j d g ƒ ƒ } t j |  j j d g ƒ | ƒ t  t j |  j d d d g ƒ ƒ } t j |  j j d d d g ƒ | ƒ d  S(   Niÿÿÿÿiüÿÿÿiýÿÿÿiþÿÿÿ(   R   R   RV   R   R!   R"   R   (   R   R@   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_take_negative  s    $R   c         C   s˜   t  t j d d d d d g ƒ d d ƒ} | j d d | ƒ} t | ƒ rZ | j j } n  t  t j | d d d d g ƒ d d ƒ} t j | | ƒ d  S(   Ni   i    i   R   g       @(	   R   R   R   t   shiftR   R   t   na_valueR!   R"   (   R   R   RZ   RK   R@   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_shift_fill_value
  s    !	!	c         C   s3   t  j t d d ƒ |  j j d g ƒ Wd  QXd  S(   NR:   RO   i   (   R;   R<   RR   R   RV   (   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_bad_take  s    c         C   sE  t  t j t j d t j d g ƒ } | j t j d d d g ƒ ƒ } t  t j t j d g ƒ } t j | | ƒ | j t j d d d g ƒ d t ƒ} t  t j t j t j g ƒ } t j | | ƒ | j t j d d d g ƒ d t d t ƒ} t  t j t j d g ƒ } t j | | ƒ d } t	 j
 t d | ƒ* | j t j d d d	 g ƒ d t ƒWd  QXt	 j
 t d | ƒ* | j t j d d d
 g ƒ d t ƒWd  QXt	 j
 t ƒ ! | j t j d d g ƒ ƒ Wd  QXt	 j
 t ƒ ! | j t j d d g ƒ ƒ Wd  QXt	 j
 t ƒ ' | j t j d d g ƒ d t ƒWd  QXd  S(   Ni   i   i    iÿÿÿÿt
   allow_fillR   s   Invalid value in 'indices'R:   iþÿÿÿiûÿÿÿiúÿÿÿi   (   R   R   R   RV   R   R!   R"   RM   R1   R;   R<   R=   RR   (   R   RZ   R#   R$   RW   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_take_filling  s,    $!'++""c         C   sN  t  t j d d d d g d d ƒ} | j t j d d d g ƒ ƒ } t  d t j d g d d ƒ} t j | | ƒ | j t j d d d g ƒ d t ƒ} t  d t j t j g d d ƒ} t j | | ƒ | j t j d d d g ƒ d t d t ƒ} t  d t j d g d d ƒ} t j | | ƒ d } t	 j
 t d | ƒ* | j t j d d d	 g ƒ d t ƒWd  QXt	 j
 t d | ƒ* | j t j d d d
 g ƒ d t ƒWd  QXt	 j
 t ƒ ! | j t j d d g ƒ ƒ Wd  QXt	 j
 t ƒ ! | j t j d d g ƒ ƒ Wd  QXt	 j
 t ƒ ' | j t j d d g ƒ d t ƒWd  QXd  S(   Ni    i   i   R   iÿÿÿÿRa   s   Invalid value in 'indices'.R:   iþÿÿÿiûÿÿÿiúÿÿÿi   (   R   R   R   RV   R   R!   R"   RM   R1   R;   R<   R=   RR   (   R   RZ   R#   R$   RW   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_take_filling_fill_value:  s,    $!'!++""c      
   C   sz  t  t j t j t j t j t j g ƒ } | j t j d d d g ƒ ƒ } t  t j t j t j g d d ƒ} t j | | ƒ | j t j d d d g ƒ d t ƒ} t  t j t j t j g d d ƒ} t j | | ƒ t j	 t
 ƒ ! | j t j d d g ƒ ƒ Wd  QXt j	 t
 ƒ ! | j t j d d g ƒ ƒ Wd  QXt j	 t
 ƒ ' | j t j d d g ƒ d t ƒWd  QXd  S(	   Ni   i    iÿÿÿÿR   R	   R   iúÿÿÿi   (   R   R   R   RV   R   R!   R"   RM   R;   R<   RR   (   R   RZ   R#   R$   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_take_filling_all_nan\  s    *!$'$""c            sh   ‡  f d †  } ‡  f d †  } t  j t d d ƒ | ƒ  Wd  QXt  j t d d ƒ | ƒ  Wd  QXd  S(   Nc              s   d ˆ  j  d <d  S(   Ni   i   (   R   (    (   R   (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   setitemo  s    c              s   d ˆ  j  d d +d  S(   Ni   i   i   (   R   (    (   R   (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   setslicer  s    R:   s   assignment via setitem(   R;   R<   t	   TypeError(   R   Re   Rf   (    (   R   sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_set_itemn  s    c         C   s<   t  j t d d ƒ! t t j d ƒ j d ƒ ƒ Wd  QXd  S(   NR:   s   expected dimension <= 1 datai
   i   i   (   i   i   (   R;   R<   Rg   R   R   t   aranget   reshape(   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt%   test_constructor_from_too_large_array{  s    c         C   s>   t  |  j ƒ } | j d k s$ t ‚ t | j |  j j ƒ d  S(   Ni    (   R   R   R   R   R   R&   (   R   RK   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_constructor_from_sparse  s    c         C   s‡   t  |  j d t ƒ} d | j d *|  j j d  d k j ƒ  sE t ‚ t  |  j ƒ } d | j d *|  j j d  d k j ƒ  sƒ t ‚ d  S(   Nt   copyi    i   (   R   R   RM   R&   t   anyR   R5   (   R   t   cpt   not_copy(    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_constructor_copy„  s    #c         C   sê   t  j t t t t t t g ƒ } t | d t d t ƒ} | j t t ƒ k sT t ‚ t	 j
 | j t  j t t g ƒ ƒ t	 j
 | j j t  j d d g t  j ƒ ƒ xB | j ƒ  | j g D]+ } | j t k sÒ t ‚ t	 j
 | | ƒ q· Wd  S(   NR   R   i   i   (   R   R   R1   RM   R   R4   R   R   R   R!   t   assert_numpy_array_equalR&   t   sp_indext   indicesR(   t   to_denset   values(   R   R6   R   t   dense(    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_constructor_bool  s    !"c         C   sí   t  t t t g d d  ƒ} | j t t j ƒ k s9 t ‚ | j	 sI t ‚ t  t t t g d t j ƒ} | j t t j ƒ k s… t ‚ | j	 s• t ‚ t  t t t g d t j d t ƒ} | j t t j t ƒ k sÚ t ‚ | j	 sé t ‚ d  S(   NR   R   (
   R   RM   R1   R   R   R   R   R4   R   R   (   R   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt    test_constructor_bool_fill_value  s    $!c         C   sü   t  j d t  j d g d t  j ƒ} t | d t  j ƒ} | j t t  j ƒ k sW t ‚ t j	 | j
 t  j d d g d t  j ƒƒ t j	 | j j t  j d d g d t  j ƒƒ xE | j ƒ  | j g D]. } | j t  j k sä t ‚ t j	 | | ƒ qÆ Wd  S(   Ng      ð?i   R   i   i    i   (   R   R   R   t   float32R   R   R   R   R!   Rr   R&   Rs   Rt   R(   Ru   Rv   (   R   R6   R   Rw   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_constructor_float32ª  s    $c         C   sƒ  t  d  d  d d g ƒ } | j d ƒ } t  d  d  d d g d t j d ƒ ƒ} t j | | ƒ t d d d ƒ} | j | ƒ } t  j t j	 d d	 g d | j
 ƒt d
 d d g ƒ | ƒ } t j | | ƒ t d d ƒ } | j | ƒ } t  j t j	 d d g d t j ƒt d
 d d g ƒ | ƒ } t j | | ƒ t  d t j d d g d d ƒ} t j t d d ƒ | j d ƒ Wd  QXd  S(   Ni    i   s   Sparse[float32]R   Rz   R   R   g        g       @i   i   R   i   R:   t   NAs
   Sparse[i8](   R   R   t   astypeR   R   R!   R"   R   t   _simple_newR   R   R    R   R   R;   R<   R=   (   R   R   R#   R$   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_astype»  s(    '		!	!c         C   sÃ   t  j d d d d g d t t d ƒ ƒ} | j t ƒ } t t d d t g d t t d ƒ ƒ} t j | | ƒ | j t t t	 ƒ ƒ } t t t	 t	 t g d t t t	 ƒ ƒ} t j | | ƒ d  S(   Ni   i    R   (
   RD   R   R   R    R}   R4   RM   R!   R"   R1   (   R   t   aR#   R$   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_astype_boolÕ  s    *c         C   s§   t  j d d d g ƒ } t | d d ƒ} t  j | ƒ } | j | ƒ } | j t | d ƒ k sf t ‚ | j j | k s~ t ‚ t j	 t  j
 | j ƒ | j | ƒ ƒ d  S(   Ni   i   i   R   (   R   R   R   R   R}   R   R   R&   R!   Rr   t   asarrayRv   (   R   t   any_real_dtypet   valsR   t   typRK   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_astype_allâ  s    s   array, dtype, expectedt   floats   datetime64[ns]t   1970t   markst   reasons
   NumPy-7619i
   t   0t   1t   10t   20g      $@g      4@c         C   s#   | j  | ƒ } t j | | ƒ d  S(   N(   R}   R!   R"   (   R   R   R   R$   R#   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_astype_moreí  s    c         C   sB   t  d t j g ƒ } t j t d d ƒ | j t ƒ Wd  QXd  S(   Ng      ð?R:   s   Cannot convert non-finite(   R   R   R   R;   R<   R=   R}   R    (   R   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_astype_nan_raises  s    c         C   sE  t  d t j d g d t j ƒ} d | _ | j d k s? t ‚ t  d d d g d d d t j ƒ} d | _ | j d k s t ‚ d | _ | j d k sŸ t ‚ t j | _ t j | j ƒ sÃ t ‚ t  t t t g d t d t j	 ƒ} t | _ | j sÿ t ‚ d | _ | j d k st ‚ t j | _ t j | j ƒ sAt ‚ d  S(	   Ng      ð?g       @R   i   i   i    R   gÍÌÌÌÌÌ@(
   R   R   R   R   R   R   R   RM   R1   R4   (   R   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_set_fill_value	  s"    !	$		$		t   vali   c         C   sS   t  t t t g d t d t j ƒ} d } t j t d | ƒ | | _ Wd  QXd  S(   NR   R   s   fill_value must be a scalarR:   (	   R   RM   R1   R   R4   R;   R<   R=   R   (   R   R’   R   RW   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt    test_set_fill_invalid_non_scalar.  s    $c         C   sO   |  j  j d t ƒ } | j |  j  j k s0 t ‚ | j |  j  j k sK t ‚ d  S(   Nt   deep(   R   Rm   R1   R&   R   Rs   (   R   t   arr2(    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_copy_shallow6  s    c         C   s3   t  |  j j |  j ƒ t  |  j j ƒ  |  j ƒ d  S(   N(   R   R   Rv   R   Ru   (   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_values_asarray;  s    s   data,shape,dtypei   R*   R+   i   c         C   s+   t  | d | ƒ} | j | k s' t ‚ d  S(   NR   (   R   t   shapeR   (   R   R6   R˜   R   t   out(    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt
   test_shape?  s    R„   R   Ru   t
   get_valuesc         C   sM   t  j | ƒ } t | d | ƒ} t | | ƒ } | ƒ  } t j | | ƒ d  S(   NR   (   R   R   R   t   getattrR!   Rr   (   R   R„   R   R   R   t
   dense_funcRK   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_dense_reprJ  s
    	c            sH   ‡  f d †  } x2 t  t ˆ  j ƒ ƒ D] } | | ƒ | | ƒ q% Wd  S(   Nc            s"   t  ˆ  j |  ˆ  j j |  ƒ d  S(   N(   R   R   Rv   (   t   i(   R   (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   _checkitZ  s    (   R   RS   R   (   R   R    RŸ   (    (   R   sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_getitemY  s    
c         C   sN   t  d d d g ƒ } | t t t g } t  d d g ƒ } t j | | ƒ d  S(   Ni    i   i   (   R   RM   R1   R!   R"   (   R   R   R#   R$   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_getitem_arraylike_maska  s    c         C   sÉ   |  j  d  } t |  j  j d  ƒ } t j | | ƒ |  j  d } t |  j  j d ƒ } t j | | ƒ |  j  d } t |  j  ƒ } t j | | ƒ |  j  d  } t |  j  j d  ƒ } t j | | ƒ d  S(   Niýÿÿÿiüÿÿÿiôÿÿÿi    (   R   R   Rv   R!   R"   (   R   R#   R@   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_getsliceg  s    c      
   C   s3  t  j t  j d d d d d t  j t  j d g	 ƒ } t | ƒ } | d d  … f } t | d d  … f ƒ } t j | | ƒ t | d d ƒ} | d d  … f } t | d d  … f d d ƒ} t j | | ƒ t j t ƒ  | d d  … d  d  … f Wd  QXt j t ƒ  | d d  … d  d  … f Wd  QXd  S(   Ni    i   i   i   R   (	   R   R   R   R   R!   R"   R;   R<   RR   (   R   Rw   RZ   RK   R@   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_getslice_tupley  s    3 c         C   sG   t  j d d d g ƒ } | t t t g } | j | j k sC t ‚ d  S(   Ni    i   i   (   RD   R   R1   R   R   (   R   R   RK   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_boolean_slice_empty  s    t   opt   addt   subt   mult   truedivt   floordivt   powc      	   C   s   t  t | ƒ } t j j d ƒ } t j j d ƒ } t j | d  d  d … <t j | d  d  d … <t | ƒ } t | ƒ } d | d  d  d … <d | d  d  d … <t | d d ƒ} t | d d ƒ} d „  } t j d d ƒ > x6 | | f | | f g D] \ }	 }
 | | |	 |
 ƒ qö WWd  QXd  S(   Ni   i   i   R   c   	      S   sM  |  | | ƒ } t  |  | j | j ƒ d | j ƒ} t | t  ƒ sH t ‚ t | j | j ƒ |  | | j ƒ } t | t  ƒ s‚ t ‚ t j | | ƒ |  | j | ƒ } t | t  ƒ s¹ t ‚ t j | | ƒ |  | d ƒ } t | t  ƒ sí t ‚ y( |  | j d ƒ } |  | j d ƒ } Wn t k
 r(n! Xt | j | ƒ t | j | ƒ d  S(   NR   i   (	   R   Rv   R   t
   isinstanceR   R   R!   R"   R=   (	   R¦   t   firstt   secondRK   R@   t   res2t   res3t   res4t   exp_fv(    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt	   _check_op¤  s(    R5   t   ignore(   Rœ   t   operatorR   t   randomt   randnR   R   t   errstate(   R   R¦   t   data1t   data2t   arr1R•   t   farr1t   farr2R´   t	   first_arrt
   second_arr(    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_binary_operators’  s    	%c         C   s'   d „  } | |  j  ƒ | |  j ƒ d  S(   Nc         S   s#   t  j |  ƒ } t  j | |  ƒ d  S(   N(   R!   t   round_trip_pickleR"   (   t   objt	   unpickled(    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   _check_roundtripÅ  s    (   R   R   (   R   RÅ   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_pickleÄ  s    	c      	   C   s‰   t  d d d g ƒ } t j d t ƒ \ } t j d d d t ƒ t j d d d t ƒ x | D] } q] Wt | ƒ d k s t ‚ Wd  QXd  S(	   Ni   i   i   t   recordt   actiont   alwayst   categoryi    (	   R   t   warningst   catch_warningsRM   t   filterwarningst   DeprecationWarningt   PendingDeprecationWarningRS   R   (   R   t   sp_arrt   wt   _(    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_generator_warningsÌ  s    c         C   s|  t  d t j t j d t j g ƒ } | j d ƒ } t  d d d d d g d d d t j ƒ} t j | | ƒ t  d t j t j d t j g d d ƒ} | j d ƒ } t  d d d d d g d d d t j ƒ} t j | | ƒ t  d t j d d d g ƒ } | j d ƒ } t  d d d d d g d d d t j ƒ} t j | | ƒ t  d t j d d d g d d ƒ} | j d ƒ } t  d d d d d g d d d t j ƒ} t j | | ƒ t  t j t j t j t j g ƒ } | j d ƒ } t  d d d d g d d d t j ƒ} t j | | ƒ t  t j t j t j t j g d d ƒ} | j d ƒ } t  d d d d g d d d t j ƒ} t j | | ƒ t  d d d d g ƒ } | j d ƒ } t  d d d d g d d ƒ} t j | | ƒ t  d d d d g ƒ } | j t t j	 ƒ k st
 ‚ | j d k s.t
 ‚ | j d ƒ } t j | | ƒ t  d d d d g d d ƒ} | j t t j	 ƒ k s‰t
 ‚ | j d k sžt
 ‚ | j d ƒ } t  d d d d g d d ƒ} t j | | ƒ t  d d d d g d t j ƒ} | j t t j	 d t j ƒk s#t
 ‚ t j | j ƒ s;t
 ‚ | j d ƒ } t  d d d d g d d ƒ} t j | | ƒ d  S(   Ni   i   iÿÿÿÿR   R   i    g        (   R   R   R   t   fillnaR   R!   R"   R   R   R   R   R   R   (   R   t   sRK   R@   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_fillna×  sZ    $****$*$'*'!'c         C   sç   t  d t j t j d t j g ƒ } | j d ƒ } t j d d d d d g d t j ƒ} t j | j ƒ  | ƒ t  d t j t j d t j g d d ƒ} | j d ƒ } t  d d d d d g d d d t j ƒ} t j	 | | ƒ d  S(   Ni   i   R   R   i    (
   R   R   R   RÔ   R   R   R!   Rr   Ru   R"   (   R   RÕ   RK   R@   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_fillna_overlap  s    $'**c         C   sÕ   t  j t d ƒ t d ƒ d d d d d d d d d d g ƒ } t j d d d g d t j ƒ} | j ƒ  \ } t j | | ƒ t  j d d d d d d d d d d d d g ƒ } | j ƒ  \ } t j | | ƒ d  S(	   NR   i   i    i   i   i   i	   R   (	   RD   R   R‡   R   R   R(   t   nonzeroR!   Rr   (   R   t   saR$   R#   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_nonzero   s    			!3N(   i   i   i   (   i   (   i    (   i   (   i   (M   t   __name__t
   __module__R   R   R%   R'   R)   R9   R;   t   markt   parametrizeR   R    R>   RA   R   R    RB   RC   R   R   R   RM   R1   RD   t	   Timestampt   NaTRE   R4   RI   RL   RN   RU   RX   RY   R[   R\   R_   R`   Rb   Rc   Rd   Rh   Rk   Rl   Rq   Rx   Ry   R{   R   R   R†   R   R‡   R
   t   xfailt   strR0   R   R   R‘   R“   R–   R—   Rš   Rž   R¡   R¢   R£   R¤   R¥   RÁ   RÆ   RÓ   RÖ   R×   RÚ   (    (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyR      s°   						-	 $	*
$**				
	*		 	"												!$!$$6		%?		0!*						1			<	t   TestSparseArrayAnalyticsc           B   sº  e  Z e j j d  e e e g e e f d d d g d d f d d d g d d f g ƒ d „  ƒ Z e j j d  e e e g e e f d d d g d d f d d d g d d f g ƒ e j	 d „  ƒ ƒ Z
 e j j d  e e e g e e f d d d g d d f d d d g d d f g ƒ d	 „  ƒ Z e j j d  e e e g e e f d d d g d d f d d d g d d f g ƒ e j	 d
 „  ƒ ƒ Z d „  Z d „  Z e j j d e j d d d d d g d e ƒe e j d d d d d g ƒ ƒ f e j d d e j d d g d e ƒe e j d d e j d d g ƒ ƒ f g ƒ e j j d e e g ƒ d „  ƒ ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d  „  Z d! „  Z d" „  Z RS(#   s   data,pos,negi   i   i    g      ð?g       @g        c         C   s”   t  | ƒ j ƒ  } | s t ‚ t  | d | ƒj ƒ  } | sB t ‚ | | d <t  | ƒ j ƒ  } | sk t ‚ t  | d | ƒj ƒ  } | s t ‚ d  S(   NR   i   (   R   R5   R   (   R   R6   t   post   negR™   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_all4  s    
c      	   C   sä   t  j t | ƒ ƒ } | s! t ‚ t  j t | d | ƒƒ } | sH t ‚ | | d <t  j t | ƒ ƒ } | st t ‚ t  j t | d | ƒƒ } | sœ t ‚ d } t j t d | ƒ' t  j t | ƒ d t  j g  ƒ ƒWd  QXd  S(   NR   i   s$   the 'out' parameter is not supportedR:   R™   (   R   R5   R   R   R;   R<   R=   R   (   R   R6   Rä   Rå   R™   RW   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_numpy_allH  s    
c         C   s”   t  | ƒ j ƒ  } | s t ‚ t  | d | ƒj ƒ  } | sB t ‚ | | d <t  | ƒ j ƒ  } | sk t ‚ t  | d | ƒj ƒ  } | s t ‚ d  S(   NR   i   (   R   Rn   R   (   R   R6   Rä   Rå   R™   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_anyb  s    
c         C   sÛ   t  j t | ƒ ƒ } | s! t ‚ t  j t | d | ƒƒ } | sH t ‚ | | d <t  j t | ƒ ƒ } | st t ‚ t  j t | d | ƒƒ } | sœ t ‚ d } t j t d | ƒ t  j t | ƒ d | ƒWd  QXd  S(   NR   i   s$   the 'out' parameter is not supportedR:   R™   (   R   Rn   R   R   R;   R<   R=   (   R   R6   Rä   Rå   R™   RW   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_numpy_anyv  s    
c         C   s¤   t  j d ƒ j t ƒ } t | ƒ j ƒ  } | d k s< t ‚ t  j | d <t | d d ƒj ƒ  } | d k ss t ‚ t | d t  j ƒj ƒ  } | d k s  t ‚ d  S(   Ni
   g     €F@i   R   i   g      D@(   R   Ri   R}   R‡   R   t   sumR   R   (   R   R6   R™   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_sum  s    c      	   C   s&  t  j d ƒ j t ƒ } t  j t | ƒ ƒ } | d k s? t ‚ t  j | d <t  j t | d d ƒƒ } | d k sy t ‚ t  j t | d t  j ƒƒ } | d k s© t ‚ d } t j	 t
 d | ƒ! t  j t | ƒ d	 t  j ƒWd  QXd
 } t j	 t
 d | ƒ t  j t | ƒ d | ƒWd  QXd  S(   Ni
   g     €F@i   R   i   g      D@s&   the 'dtype' parameter is not supportedR:   R   s$   the 'out' parameter is not supportedR™   (   R   Ri   R}   R‡   Rê   R   R   R   R;   R<   R=   R   (   R   R6   R™   RW   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_numpy_sum›  s    "s   data,expectedi   i   i   R   g      @g      @g      $@g      .@g      @g      (@t   numpyc      	   C   s]  | r t  j n d „  } | t | ƒ ƒ } t j | | ƒ | t | d t  j ƒƒ } t j | | ƒ | t | d d ƒƒ } t j | | ƒ | rd } t j t d | ƒ! t  j t | ƒ d t  j	 ƒWd  QXd } t j t d | ƒ t  j t | ƒ d | ƒWd  QXnJ d	 } d
 j
 d | ƒ } t j t d | ƒ t | ƒ j d | ƒ Wd  QXd  S(   Nc         S   s
   |  j  ƒ  S(   N(   t   cumsum(   RÕ   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   <lambda>·  s    R   i   s&   the 'dtype' parameter is not supportedR:   R   s$   the 'out' parameter is not supportedR™   i   s   axis\(={axis}\) out of boundst   axis(   R   Rî   R   R!   R"   R   R;   R<   R=   R   t   format(   R   R6   R$   Rí   Rî   R™   RW   Rð   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_cumsum¯  s$    ""c         C   su   t  j d ƒ j t ƒ } t | ƒ j ƒ  } | d k s< t ‚ t  j | d <t | ƒ j ƒ  } | d d k sq t ‚ d  S(   Ni
   g      @i   g      D@i	   (   R   Ri   R}   R‡   R   t   meanR   R   (   R   R6   R™   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt	   test_meanÐ  s    c      	   C   sô   t  j d ƒ j t ƒ } t  j t | ƒ ƒ } | d k s? t ‚ t  j | d <t  j t | ƒ ƒ } | d d k sw t ‚ d } t j	 t
 d | ƒ! t  j t | ƒ d t  j ƒWd  QXd	 } t j	 t
 d | ƒ t  j t | ƒ d
 | ƒWd  QXd  S(   Ni
   g      @i   g      D@i	   s&   the 'dtype' parameter is not supportedR:   R   s$   the 'out' parameter is not supportedR™   (   R   Ri   R}   R‡   Ró   R   R   R   R;   R<   R=   R   (   R   R6   R™   RW   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_numpy_meanÙ  s    "c         C   s‰  t  d t j d t j d g ƒ } t  d t j d t j d g ƒ } t j t | ƒ | ƒ t j t j | ƒ | ƒ t  d d d d g d d ƒ} t  d d d g d | j d d ƒ} t j t | ƒ | ƒ t j t j | ƒ | ƒ t  d d d d g d d ƒ} t  d d d g d | j d d ƒ} t j t | ƒ | ƒ t j t j | ƒ | ƒ t  d t j d t j d g ƒ } t  t j d t j d t j d g ƒ ƒ } t j t j | ƒ | ƒ t  d d d d g d d ƒ} t  t j d d d d g ƒ d t j d ƒ ƒ} t j t j | ƒ | ƒ t  d d d d g d d ƒ} t  t j d d d d g ƒ d t j d ƒ ƒ} t j t j | ƒ | ƒ d  S(   Ni   i   iþÿÿÿiÿÿÿÿR   R?   i    (   R   R   R   R!   R"   t   absRs   t   sin(   R   RZ   R#   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt
   test_ufuncê  s.    !!		!*00c         C   s  t  d t j d t j d g ƒ } t  d t j d t j d g ƒ } t j t j | d ƒ | ƒ t  d d d d g d d ƒ} t  d d d d g d d ƒ} t j t j | d ƒ | ƒ t  d d d d g d d ƒ} t  d d d d g d d ƒ} t j t j | d ƒ | ƒ d  S(   Ni   i   iþÿÿÿi   iÿÿÿÿR   i    (   R   R   R   R!   R"   R§   (   R   RZ   R#   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_ufunc_args	  s    !!c         C   s@   t  d d d d d g d d ƒ} | j } | d k s< t ‚ d  S(   Ni   i    i   R   R   i   (   R   t   nbytesR   (   R   R   R#   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_nbytes_integer  s    !	c         C   s@   t  d d d d d g d d ƒ} | j } | d k s< t ‚ d  S(   Ni   i   i    R   R	   i   (   R   Rú   R   (   R   R   R#   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_nbytes_block  s    !	c         C   s5   t  j t  j d d  d  d g ƒ ƒ } t j | ƒ d  S(   Nt   2012t   2013(   RD   R   t   to_datetimeR   R   R‚   (   R   RÕ   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_asarray_datetime64$  s    c         C   s+   t  d d g ƒ } | j d k s' t ‚ d  S(   Ni    i   g      à?(   R   t   densityR   (   R   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_density*  s    c         C   s+   t  d d g ƒ } | j d k s' t ‚ d  S(   Ni    i   (   R   t   npointsR   (   R   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_npoints.  s    (   RÛ   RÜ   R;   RÝ   RÞ   RM   R1   Ræ   t   tdt   skip_if_np_lt_115Rç   Rè   Ré   Rë   Rì   R   R   R‡   R   R   Rò   Rô   Rõ   Rø   Rù   Rû   Rü   R   R  R  (    (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyRã   2  sF   ''		!$$-'									t   TestAccessorc           B   sM   e  Z e j j d  d d d d g ƒ d „  ƒ Z d „  Z d „  Z d „  Z RS(	   t   attrR  R  R   R&   c         C   sX   t  d d g ƒ } t j | ƒ } t | j | ƒ } t | | ƒ } | | k sT t ‚ d  S(   Ni    i   (   R   RD   t   SeriesRœ   RZ   R   (   R   R  R   t   serR#   R$   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_get_attributes5  s
    c   	      C   sà   t  j d ƒ } d d d d g } d d d d g } d d d d	 g } | j | | | f f ƒ } t j j j | ƒ } t j j d d d d g d d d d g g ƒ } t j d d	 d d g d
 | d d ƒ} t	 j
 | | ƒ d  S(   Ns   scipy.sparsei    i   i   i   i   i   i   i	   RG   R   s   Sparse[int](   R;   t   importorskipt
   coo_matrixRD   R	  RZ   t   from_coot
   MultiIndext   from_arraysR!   t   assert_series_equal(	   R   RZ   t   rowt   colR6   t   sp_arrayR#   RG   R$   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_from_coo@  s    0'c         C   s”   t  j d ƒ } t j d d d g d t j j d g d d d g g d d d	 g ƒd
 d ƒ} | j j ƒ  \ } } } t | | j	 j
 ƒ s t ‚ d  S(   Ns   scipy.sparsei   i   i   RG   i    t   namesR€   t   bR   s   Sparse[int](   R;   R  RD   R	  R  t   from_productRZ   t   to_cooR­   t   cooR  R   (   R   RZ   R
  R*   RÒ   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_to_cooM  s    !	c         C   sB   t  j d d d g ƒ } t j t d d ƒ | j j Wd  QXd  S(   Ni   i   i   R:   s   .sparse(   RD   R	  R;   R<   t   AttributeErrorRZ   R  (   R   R
  (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_non_sparse_raisesV  s    (	   RÛ   RÜ   R;   RÝ   RÞ   R  R  R  R  (    (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyR  3  s
   
			c          C   sq   t  d t j d g d d ƒ}  t j |  _ |  j ƒ  } t j | ƒ } t j t t t g ƒ } t	 j
 | | ƒ d  S(   Ng      ð?R   g        (   R   R   R   R   R   R‚   R   R1   RM   R!   Rr   (   R   R#   R$   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt*   test_setting_fill_value_fillna_still_works\  s    c       	   C   s€   t  d t j g d d ƒ}  t j |  _ t  j d t j t j g ƒ d t d d g ƒ d t t t j ƒ ƒ } t	 j
 |  | ƒ d  S(	   Ng        R   i    t   sparse_arrayR?   i   i   R   (   R   R   R   R   R~   R   R    R   R‡   R!   R"   (   R   R$   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_setting_fill_value_updatesj  s    	s   arr, loci   i   i    i   c         C   s(   t  |  ƒ j ƒ  } | | k s$ t ‚ d  S(   N(   R   t   _first_fill_value_locR   (   R   t   locR#   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_first_fill_value_locw  s    	R   R   c         C   sh   t  j |  d | ƒj ƒ  } t  j |  ƒ j ƒ  } t | t ƒ sE t ‚ t j | ƒ } t j	 | | ƒ d  S(   NR   (
   RD   R   t   uniqueR	  R­   R   R   R‚   R!   Rr   (   R   R   R€   R  (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_unique_na_fill„  s
    	c          C   sA   t  d d g ƒ }  |  j ƒ  } t  d g ƒ } t j | | ƒ d  S(   Ni    (   R   R$  R!   R"   (   R   R#   R$   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_unique_all_sparse”  s    c          C   sý   t  d d d g ƒ }  t  d d d g d d ƒ} |  j i d d 6d d 6d d 6ƒ } t j | | ƒ |  j t j i d d 6d d 6d d 6ƒ ƒ } t j | | ƒ |  j t j i d d 6d d 6d d 6ƒ ƒ } t  d d d g d d ƒ} t j | | ƒ d  S(   Ni    i   i   i
   i   i   R   (   R   t   mapR!   R"   RD   R	  (   R   R$   R#   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_mapœ  s    $--c          C   sa   t  d d d g ƒ }  t  d d d  g d d ƒ} |  j i d d 6d d 6ƒ } t j | | ƒ d  S(   Ni    i   i   i
   i   R   (   R   R   R'  R!   R"   (   R   R$   R#   (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   test_map_missing®  s    (*   R¶   RP   RË   Rí   R   R;   t   pandas._libs.sparseR    t   pandas.compatR   t   pandas.util._test_decoratorst   utilt   _test_decoratorsR  t   pandasRD   R   t   pandas.core.sparse.apiR   R   R   t   pandas.util.testingt   testingR!   R   t   fixtureR   R0   R   Rã   R  R  R   RÝ   RÞ   R   R#  R   R%  R&  R(  R)  (    (    (    sD   lib/python2.7/site-packages/pandas/tests/arrays/sparse/test_array.pyt   <module>   sL   !ÿ ÿ ÿ ÿ )		!
		