ó
šxŠ\c           @   sÈ  d  d l  m Z m  Z  d  d l m Z d  d l Z 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 m Z m Z m Z d  d l Z d  d l m Z m Z m Z m Z m Z m Z m Z d  d l j j Z d  d l m  Z  m! Z! d  d l" m# Z# m$ Z$ m% Z% d  d l& j' j( Z) d  d	 l& m* Z* m+ Z+ m, Z, m- Z- e e j. ƒ e d
 ƒ k Z/ e
 j0 d „  ƒ Z1 d „  Z2 d „  Z3 d Z4 e5 d d „ Z6 e5 d „ Z7 e5 d „ Z8 d e9 f d „  ƒ  YZ: d e9 f d „  ƒ  YZ; d e9 f d „  ƒ  YZ< d e9 f d „  ƒ  YZ= d e9 f d „  ƒ  YZ> d e9 f d „  ƒ  YZ? d e9 f d  „  ƒ  YZ@ e
 jA jB d! d" e f d# e  f d$ e  f d% e! f d& e f g ƒ d' „  ƒ ZC d( „  ZD d) „  ZE d* „  ZF d S(+   iÿÿÿÿ(   t   datet   datetime(   t   LooseVersionN(   t   BlockPlacement(   t   OrderedDictt   lranget   ut   zip(   t   Categoricalt	   DataFramet   DatetimeIndext   Indext
   MultiIndext   Seriest   SparseArray(   t   DatetimeArrayt   TimedeltaArray(   t   BlockManagert   SingleBlockManagert
   make_block(   t   assert_almost_equalt   assert_frame_equalt   assert_series_equalt   randns   3.6.1c           C   s
   t  d ƒ S(   Ns‰   a: f8; b: object; c: f8; d: object; e: f8;f: bool; g: i8; h: complex; i: datetime-1; j: datetime-2;k: M8[ns, US/Eastern]; l: M8[ns, CET];(   t
   create_mgr(    (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   mgr    s    c         C   s~   t  j |  j | j ƒ |  j | j k s. t ‚ t |  j t ƒ sF t ‚ t | j t ƒ s^ t ‚ t  j |  j j | j j ƒ d  S(   N(	   t   tmt   assert_numpy_array_equalt   valuest   dtypet   AssertionErrort
   isinstancet   mgr_locsR   t   as_array(   t   leftt   right(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   assert_block_equal(   s    c      
   C   sS   t  j |  d ƒ } t  j j j d | d |  d | j f d t |  ƒ d ƒ j ƒ  S(   Ni    t   xt   shapet   stridesi   (   i    (   t   npt   aranget   libt   stride_trickst
   as_stridedt   itemsizet   lent   copy(   R&   t   arr(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   get_numeric_mat1   s    i
   i    c         C   s  t  | ƒ } t | ƒ } | d= k r0 t f } n  | f | } t | ƒ } |  d> k rk | j |  ƒ | } n”|  d? k r‘ d | j |  ƒ | } nn|  d@ k rÓ t j g  | j ƒ  | D] } d | ^ q´ | ƒ } n,|  dA k rú t j	 | d t j
 ƒ} n|  dB k r| d j d ƒ } nã|  j d ƒ r¨t j d |  ƒ }	 |	 d= k	 s^t d  j |  ƒ ƒ ‚ |	 j ƒ  d! }
 | d" k s†t d# ƒ ‚ t t j t ƒ d d$ |
 ƒ} nW|  dC k rÊ| d" j d' ƒ } n5|  dD k rt d" d" d) d) d* d* d* d* d+ d+ g
 ƒ } nü |  dE k r<t d- d- d- d- d d d. d. d. d/ g
 ƒ } nÃ |  dF k rï| d2 d3 k s^t ‚ t d4 „  | d2  Dƒ ƒ s~t ‚ |  j d5 ƒ r™t j } n d6 } t | | d" d) d* | d+ d7 | d8 g
 d9 | ƒ} | j j ƒ  } | | d" 7} n t d: |  ƒ ‚ t | d; | d< t | ƒ ƒS(G   s’  
    Supported typestr:

        * float, f8, f4, f2
        * int, i8, i4, i2, i1
        * uint, u8, u4, u2, u1
        * complex, c16, c8
        * bool
        * object, string, O
        * datetime, dt, M8[ns], M8[ns, tz]
        * timedelta, td, m8[ns]
        * sparse (SparseArray with fill_value=0.0)
        * sparse_na (SparseArray with fill_value=np.nan)
        * category, category2

    t   floatt   f8t   f4t   f2t   intt   i8t   i4t   i2t   i1t   uintt   u8t   u4t   u2t   u1t   complext   c16t   c8y              ð?t   objectt   stringt   Os   A%dt   bt   boolR   R   t   dts   M8[ns]g    eÍÍAs   M8[nss   M8\[ns,\s*(\w+\/?\w*)\]s   incompatible typestr -> {0}i    i   s)   must have only 1 num items for a tz-awaret   tzt	   timedeltat   tds   m8[ns]t   categoryi   i   i   t	   category2t   at   ct   dt   sparset	   sparse_naiÿÿÿÿi
   c         s   s   |  ] } | d  k Vq d S(   i   N(    (   t   .0t   s(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pys	   <genexpr>r   s    t   _nag        i   i   t
   fill_values   Unsupported typestr: "%s"t	   placementt   ndimN(   R2   R3   R4   R5   R6   R7   R8   R9   R:   R;   R<   R=   R>   R?   (   R@   RA   RB   (   RC   RD   RE   (   RF   RG   (   R   RH   s   M8[ns](   RJ   RK   s   m8[ns](   RL   (   RM   (   RQ   RR   (   R   R.   t   Nonet   NR1   t   astypeR(   t   reshapet   ravelt   onest   bool_t
   startswitht   ret   searchR   t   formatt   groupsR
   R)   R   t   allt   endswitht   nanR   t	   sp_valuest   viewt
   ValueErrorR   (   t   typestrRW   t
   item_shapet
   num_offsett	   num_itemsR&   t   matR   t   it   mRI   RV   R0   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   create_block:   sT    	*!"-- c         C   sF   | d  k r t } n  t t |  d t d | ƒ d d ƒt j | ƒ ƒ S(   NRW   i    Rl   (    (   RY   RZ   R   Rr   t   sliceR(   R)   (   Rk   t   num_rows(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   create_single_mgr   s
    	c      	   C   sÐ  | d k r t f } n  d } g  } t ƒ  } xç |  j d ƒ D]Ö } | j ƒ  } t | ƒ sa q= n  | j d ƒ d d d … \ } } | j ƒ  } | j ƒ  j d ƒ } | j | ƒ t t	 j
 t | ƒ ƒ | ƒ } y | | j | ƒ Wn t k
 r| | | <n X| t | ƒ 7} q= Wt | ƒ } g  }	 d }
 x_ | j ƒ  D]Q \ } } | j d ƒ d } |	 j t | | d | d	 |
 ƒƒ |
 t | ƒ 7}
 q<Wt t |	 d
 d „  ƒ| g g  | D] } t	 j
 | ƒ ^ q³ƒ S(   sU  
    Construct BlockManager from string description.

    String description syntax looks similar to np.matrix initializer.  It looks
    like this::

        a,b,c: f8; d,e,f: i8

    Rules are rather simple:

    * see list of supported datatypes in `create_block` method
    * components are semicolon-separated
    * each component is `NAME,NAME,NAME: DTYPE_ID`
    * whitespace around colons & semicolons are removed
    * components with same DTYPE_ID are combined into single block
    * to force multiple blocks with same dtype, use '-SUFFIX'::

        'a:f8-1; b:f8-2; c:f8-foobar'

    i    t   ;t   :Ni   t   ,t   -Rl   Rm   t   keyc         S   s   |  j  d S(   Ni    (   R    (   RF   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   <lambda>Á   s    (   RY   RZ   R   t   splitt   stripR.   t	   partitiont   extendt   listR(   R)   t   KeyErrorR   t   itemst   appendRr   R   t   sorted(   t   descrRl   t   offsett	   mgr_itemst   block_placementsRP   t   namest   blockstrRW   t   blocksRm   Rk   t   n(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyR   Š   s>    	"
t	   TestBlockc           B   st   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(   c         C   sv   t  d d d d g ƒ |  _ t  d d g ƒ |  _ t  d d d	 g ƒ |  _ t  d
 d g ƒ |  _ t  d d g ƒ |  _ d  S(   NR2   i    i   i   R@   i   RC   i   i   RG   i   R6   i   (   Rr   t   fblockt   cblockt   oblockt
   bool_blockt	   int_block(   t   selft   method(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   setup_methodÇ   s
    c         C   s.   t  d d g ƒ } | j t j k s* t ‚ d  S(   NR8   i    (   Rr   R   R(   t   int32R   (   R“   t
   int32block(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_constructorÔ   s    c         C   sA   d „  } | |  j  ƒ | |  j ƒ | |  j ƒ | |  j ƒ d  S(   Nc         S   s   t  t j |  ƒ |  ƒ d  S(   N(   R$   R   t   round_trip_pickle(   t   blk(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   _checkÙ   s    (   RŽ   R   R   R‘   (   R“   R›   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_pickleØ   s
    	c         C   sS   t  |  j j t ƒ s t ‚ t j |  j j j t j	 d d d g d t j
 ƒƒ d  S(   Ni    i   i   R   (   R   RŽ   R    R   R   R   R   R!   R(   t   arrayt   int64(   R“   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_mgr_locsá   s    c         C   sm   |  j  j |  j  j j k s! t ‚ |  j  j |  j  j j k sB t ‚ t |  j  ƒ t |  j  j ƒ k si t ‚ d  S(   N(   RŽ   R&   R   R   R   R.   (   R“   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt
   test_attrsæ   s    !!c         C   s  t  d d ƒ } t  d d ƒ } t d d d d d g ƒ } t | | j d d g ƒ ƒ } t | | j d d g ƒ ƒ } | j | ƒ } t j | j j t	 j
 d d	 d d
 g d t	 j ƒƒ t j | j d d g t	 j
 | ƒ ƒ t j | j d	 d
 g t	 j
 | ƒ ƒ d  S(   Ni   i
   t   eRN   RF   RP   t   fi    i   i   R   (   R   R   R   t   get_indexert   mergeR   R   R    R!   R(   R   Rž   R   (   R“   t   avalst   bvalst   ref_colst   ablockt   bblockt   merged(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt
   test_mergeë   s    %&c         C   s8   |  j  j ƒ  } | |  j  k	 s$ t ‚ t |  j  | ƒ d  S(   N(   RŽ   R/   R   R$   (   R“   t   cop(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt	   test_copyû   s    c         C   s   d  S(   N(    (   R“   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_reindex_index   s    c         C   s   d  S(   N(    (   R“   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_reindex_cast  s    c         C   s   d  S(   N(    (   R“   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_insert  s    c         C   s¡  |  j  j ƒ  } | j d ƒ t | j t ƒ s4 t ‚ t j | j j	 t
 j d d g d t
 j ƒƒ | j d d k j ƒ  s t ‚ |  j  j ƒ  } | j d ƒ t | j t ƒ sµ t ‚ t j | j j	 t
 j d d g d t
 j ƒƒ | j d d k j ƒ  st ‚ |  j  j ƒ  } | j d ƒ t j | j j	 t
 j d d g d t
 j ƒƒ | j d d k j ƒ  skt ‚ |  j  j ƒ  } t j t ƒ  | j d ƒ Wd  QXd  S(   Ni    i   i   R   i   i   (   RŽ   R/   t   deleteR   R    R   R   R   R   R!   R(   R   Rž   R   Re   t   pytestt   raisest	   Exception(   R“   t   newb(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_delete	  s(    c         C   sN   t  d d g ƒ } t j t d t ƒ! | j | j d | j j ƒWd  QXd  S(   Ns   M8[ns, US/Eastern]i   t   check_stacklevelR   (   Rr   R   t   assert_produces_warningt   DeprecationWarningt   Falset   make_block_same_classR   R   (   R“   t   block(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_make_block_same_class"  s
    
(   t   __name__t
   __module__R•   R˜   Rœ   RŸ   R    R«   R­   R®   R¯   R°   R¶   R½   (    (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyR   Å   s   												t   TestDatetimeBlockc           B   s   e  Z d  „  Z RS(   c         C   sæ   t  d d g ƒ } | j | j d  ƒ d } t j | ƒ t j k sI t ‚ t j	 d ƒ t
 d d d ƒ t d d d ƒ f } xf | D]^ } | j | j | ƒ d } t j t | ƒ k sº t ‚ t j d ƒ t j | ƒ k s€ t ‚ q€ Wd  S(   NR   i    i   s
   2010-10-10iÚ  i
   (   Rr   t   _try_coerce_argsR   RY   t   pdt	   Timestampt   NaTR   R(   t
   datetime64R   R    Rž   t   type(   R“   R¼   t   none_coercedt   valst   valt   coerced(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_try_coerce_arg-  s    (   R¾   R¿   RË   (    (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyRÀ   +  s   t   TestBlockManagerc           B   sL  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 d „  Z d „  Z  d „  Z! d  „  Z" d! „  Z# d" „  Z$ d# „  Z% RS($   c         C   s   d  S(   N(    (   R“   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_constructor_corner?  s    c         C   s=   t  d ƒ } | j d k s! t ‚ t | ƒ d k s9 t ‚ d  S(   Ns   a,b,c: f8-1; d,e,f: f8-2i   i   (   R   t   nblocksR   R.   (   R“   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyR    B  s    c         C   sZ   t  d ƒ j s t ‚ t  d ƒ j s, t ‚ t  d ƒ j sA t ‚ t  d ƒ j sV t ‚ d  S(   Ns   a,b:f8s   a:f8-1; b:f8-2s   a,b:f8; c,d: f4s   a,b:f8; c,d: object(   R   t   is_mixed_typeR   (   R“   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_is_mixed_dtypeG  s    c         C   sÆ   t  d ƒ } | j | j } } t j d g ƒ | d _ t j d g ƒ | d _ t j t ƒ  t	 | | ƒ Wd  QXt j d g ƒ | d _ t j d g ƒ | d _ t	 | | ƒ } | j
 d ƒ d  S(   Ns   a:bool; a: f8i    i   (   R   t   axesR‹   R(   R   R    R²   R³   R   R   t   iget(   R“   t   tmp_mgrRÑ   R‹   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_duplicate_ref_loc_failureN  s    c         C   s(   d | k s t  ‚ d | k s$ t  ‚ d  S(   NRN   t   baz(   R   (   R“   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_contains_  s    c         C   sv   t  j | ƒ } t t | ƒ t | ƒ ƒ t | d ƒ s= t ‚ t | d ƒ sR t ‚ | j sb t ‚ | j sr t ‚ d  S(   Nt   _is_consolidatedt   _known_consolidated(   R   R™   R   R	   t   hasattrR   R×   RØ   (   R“   R   t   mgr2(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyRœ   c  s    c         C   sl   t  d ƒ } t j | ƒ } t t | ƒ t | ƒ ƒ t  d ƒ } t j | ƒ } t t | ƒ t | ƒ ƒ d  S(   Ns   a,a,a:f8s   a: f8; a: i8(   R   R   R™   R   R	   (   R“   R   RÚ   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_non_unique_pickles  s    c         C   sl   t  d ƒ } t j | ƒ } t t | ƒ t | ƒ ƒ t d ƒ } t j | ƒ } t t | ƒ t | ƒ ƒ d  S(   Ns   a: categoryRL   (   R   R   R™   R   R	   Ru   R   R   (   R“   R   RÚ   t   smgrt   smgr2(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_categorical_block_pickle}  s    c         C   s6  t  t d ƒ ƒ } t j j d d ƒ } t d | j ƒ  d t j d ƒ ƒ } t d | g d | t j d ƒ g ƒ } t	 | j
 d d t ƒ| d	 ƒ t	 | j
 d
 d t ƒ| d ƒ t	 | j
 d d t ƒ| d ƒ t	 | j
 d ƒ j ƒ  | d	 ƒ t	 | j
 d
 ƒ j ƒ  | d ƒ t	 | j
 d ƒ j ƒ  | d ƒ d  S(   Nt   abci   R   RW   R‹   RÑ   RN   t   fastpathi    RF   i   RO   i   (   R   R€   R(   t   randomt   randR   R/   R)   R   R   t   getRº   t   internal_values(   R“   t   colsR   R¼   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_get†  s    $'     c         C   s$  t  d d d ƒ} | j d t j d g d ƒ ƒ | j d t j d g d ƒ ƒ t j | j d ƒ j ƒ  t j d	 g d ƒ ƒ t j | j d ƒ j ƒ  t j d g d d
 t j ƒƒ t j | j d ƒ j ƒ  t j d g d ƒ ƒ t j | j d ƒ j ƒ  t j d g d d
 t j ƒƒ d  S(   Ns
   a,b,c: intRl   i   RP   t   fooRF   t   barRN   i    R   RO   i   (   i   (	   R   t   setR(   R   R   R   Rã   Rä   t   object_(   R“   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_set“  s       c         C   s   | j  d t j t d t ƒƒ | j  d t j d t ƒ ƒ | j d ƒ j t j k s\ t	 ‚ | j
 ƒ  } | j  d t j d t ƒ ƒ | j d ƒ j t j k s¥ t	 ‚ | j  d t t ƒ j t ƒ ƒ | j d ƒ j t j k så t	 ‚ | j  d t t ƒ ƒ | j d ƒ j t j k st	 ‚ d  S(   NRÕ   R   Rç   t   quux(   Ré   R(   t   zerosRZ   RG   t   repeatRã   R   Rê   R   t   consolidateR   R[   R6   t   int_t   float_(   R“   R   RÚ   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_set_change_dtype¡  s    !!!c         C   sè   t  j d d d g ƒ } t d d d	 g d
 d d g g d | ƒ} | d d | d <| j ƒ  } t | j ƒ  ƒ d d g k s„ t ‚ t | d t d d
 g d
 d g g d | d  ƒƒ t | d t d	 g d g g d | d ƒƒ d  S(   Nt   1stRN   t   2ndRF   t   3rdRO   g      ð?i   i   g      @i   i   t   columnsg       @t   float64Rž   g      $@(   Ró   RN   (   Rô   RF   (   Rõ   RO   (   R   t   from_tuplesR	   t   _to_dict_of_blocksR„   t   keysR   R   (   R“   Rå   t   dfR‹   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_set_change_dtype_slice±  s    *$&c         C   s^  | j  d t ƒ } x’ t | j | j ƒ D]{ \ } } | j | ƒ sI t ‚ t | j t j	 ƒ r | j j
 | j j
 k s£ t ‚ q( | j j j
 | j j j
 k s( t ‚ q( W| j  d t ƒ } xž t | j | j ƒ D]‡ \ } } | j | ƒ sð t ‚ t | j t j	 ƒ s,| j j j
 | j j j
 k	 sVt ‚ qÏ | j j
 d  k rP| j j
 d  k sÏ t ‚ qÏ Wd  S(   Nt   deep(   R/   Rº   R   R‹   t   equalsR   R   R   R(   t   ndarrayt   baset   _datat   TrueRY   (   R“   R   t   cpRš   t   cp_blk(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyR­   ¾  s    "!("'c         C   s.   t  d ƒ } | j ƒ  j t j k s* t ‚ d  S(   Ns   a: sparse-1; b: sparse-2(   R   R!   R   R(   R÷   R   (   R“   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_sparseÕ  s    c         C   s@   t  d ƒ } t | j ƒ d k s' t ‚ t | t ƒ s< t ‚ d  S(   Ns   a: sparse-1; b: sparse-2; c: f8i   (   R   R.   R‹   R   R   R   (   R“   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_sparse_mixedÚ  s    c         C   sX   t  d ƒ } | j ƒ  j t j k s* t ‚ t  d ƒ } | j ƒ  j t j k sT t ‚ d  S(   Ns   c: f4; d: f2; e: f8s   c: f4; d: f2(   R   R!   R   R(   R÷   R   t   float32(   R“   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_as_array_floatá  s    c         C   s‚   t  d ƒ } | j ƒ  j t j k s* t ‚ t  d ƒ } | j ƒ  j t j k sT t ‚ t  d ƒ } | j ƒ  j t j k s~ t ‚ d  S(   Ns   a: bool-1; b: bool-2s%   a: i8-1; b: i8-2; c: i4; d: i2; e: u1s   c: i4; d: i2; e: u1(   R   R!   R   R(   R_   R   Rž   R–   (   R“   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_as_array_int_boolè  s    c         C   s+   t  d ƒ } | j ƒ  j d k s' t ‚ d  S(   Ns   h: datetime-1; g: datetime-2s   M8[ns](   R   R!   R   R   (   R“   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_as_array_datetimeò  s    c         C   sg   t  d ƒ } | j d ƒ j d k s* t ‚ | j d ƒ j d k sH t ‚ | j ƒ  j d k sc t ‚ d  S(   Ns%   h: M8[ns, US/Eastern]; g: M8[ns, CET]t   hs   datetime64[ns, US/Eastern]t   gs   datetime64[ns, CET]RC   (   R   Rã   R   R   R!   (   R“   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_as_array_datetime_tzö  s    c         C   s$  t  d ƒ } xž d d d d d g D]‡ } t j | ƒ } | j | ƒ } | j d ƒ j j | k sg t ‚ | j d ƒ j j | k sˆ t ‚ | j d	 ƒ j j | k s" t ‚ q" Wt  d
 ƒ } xdd d d d d g D]M} t j | ƒ } | j | d d ƒ} | j d ƒ j j | k st ‚ | j d	 ƒ j j | k s;t ‚ | j d ƒ j j | k s\t ‚ | j d ƒ j j | k s}t ‚ | j d ƒ j j t j k s¡t ‚ | j d ƒ j j t j k sÅt ‚ | t j k rû| j d ƒ j j t j	 k st ‚ qÏ | j d ƒ j j | k sÏ t ‚ qÏ Wd  S(   Ns   c: f4; d: f2; e: f8t   float16R  R÷   R–   Rž   RO   RP   R¡   s5   a,b: object; c: bool; d: datetime;e: f4; f: f2; g: f8t   errorst   ignoreR¢   R  RN   RF   (
   R   R(   R   R[   Rã   RÆ   R   Rê   Rž   RÅ   (   R“   R   t   tt   tmgr(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_astypeü  s(    !!%!!!!$$'c         C   sZ  d „  } t  d ƒ } | j ƒ  } | | | ƒ t  d ƒ } | j ƒ  } | | | ƒ t  d ƒ } | j d t j d g t d t j ƒƒ | j d t j d	 g t d t j ƒƒ | j d
 t j d g t d t j ƒƒ | j d t ƒ } | j d ƒ j	 t j
 k st ‚ | j d ƒ j	 t j k s.t ‚ | j d
 ƒ j	 t j k sOt ‚ | j d ƒ j	 t j
 k spt ‚ | j d ƒ j	 t j k s‘t ‚ t  d ƒ } | j d t j d g t d t j ƒƒ | j d t j d	 g t d t j ƒƒ | j d
 t j d g t d t j ƒƒ | j d t ƒ } | j d ƒ j	 t j
 k sKt ‚ | j d ƒ j	 t j k slt ‚ | j d
 ƒ j	 t j k st ‚ | j d ƒ j	 t j k s®t ‚ | j d ƒ j	 t j k sÏt ‚ | j d ƒ j	 j sót t j ƒ ‚ | j d ƒ j	 t j
 k st ‚ | j d ƒ j	 t j k s5t ‚ | j d ƒ j	 t j k sVt ‚ d  S(   Nc         S   sì   t  |  j ƒ } t  | j ƒ } t | ƒ t | ƒ k s< t ‚ xS | D]K } t } x0 | D]( } | j | j k j ƒ  rV t } PqV qV W| sC t ‚ qC WxS | D]K } t } x0 | D]( } | j | j k j ƒ  r¬ t } Pq¬ q¬ W| s™ t ‚ q™ Wd S(   s6    compare the blocks, numeric compare ==, object don't N(   Ré   R‹   R.   R   Rº   R   Re   R  (   t   old_mgrt   new_mgrt
   old_blockst
   new_blocksRF   t   foundt   nbt   ob(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   _compare  s"    s   f: i8; g: f8s   a, b: object; f: i8; g: f8s   a,b,foo: object; f: i8; g: f8RN   t   1R   RF   s   2.Rç   s   foo.t   numericR¢   R  sD   a,b,foo: object; f: i4; bool: bool; dt: datetime;i: i8; g: f8; h: f2RG   RH   Rp   R  (   R   t   convertRé   R(   R   RZ   Rê   R  Rã   R   Rž   R   R÷   R–   R_   RÆ   RÅ   R  (   R“   R  R   R  (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_convert  s>    	)))!!!!!)))!!!!!$!!c         C   sH  xƒ d d d d d d d g D]f } t  d j | ƒ ƒ } | j ƒ  j | k sR t ‚ t  d	 j | ƒ ƒ } | j ƒ  j | k s t ‚ q Wt  d
 ƒ } | j ƒ  j d k s­ t ‚ t  d ƒ } | j ƒ  j d k sÔ t ‚ t  d ƒ } | j ƒ  j d k sû t ‚ t  d ƒ } | j ƒ  j d k s"t ‚ t  d ƒ } | j ƒ  j d k sIt ‚ t  d ƒ } | j ƒ  j d k spt ‚ t  d ƒ } | j ƒ  j d k s—t ‚ t  d ƒ } | j ƒ  j d k s¾t ‚ t  d ƒ } | j ƒ  j d k såt ‚ t  d ƒ } | j ƒ  j d k st ‚ t  d ƒ } | j ƒ  j d k s3t ‚ t  d ƒ } | j ƒ  j d k sZt ‚ t  d ƒ } | j ƒ  j d k st ‚ t  d ƒ } | j ƒ  j d k s¨t ‚ t  d ƒ } | j ƒ  j d k sÏt ‚ t  d ƒ } | j ƒ  j d k söt ‚ t  d ƒ } | j ƒ  j d k st ‚ t  d ƒ } | j ƒ  j d k sDt ‚ d  S(   NR3   R7   RC   RG   R@   s   M8[ns]s   m8[ns]s   a: {0}s   a: {0}; b: {0}s   a: categorys   a: category; b: categorys   a: category; b: category2s   a: category2s   a: category2; b: category2s   a: f8s   a: f8; b: i8s   a: f4; b: i8s   a: f4; b: i8; d: objects   a: bool; b: i8s
   a: complexs   a: f8; b: categorys   a: M8[ns]; b: categorys   a: M8[ns]; b: bools   a: M8[ns]; b: i8s   a: m8[ns]; b: bools   a: m8[ns]; b: i8s   a: M8[ns]; b: m8[ns](   R   Rc   R!   R   R   (   R“   R   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_interleaveU  sT    c         C   sÁ   t  t j d ƒ d g t j d ƒ d g g d d d g d d d	 g ƒ} | j ƒ  } d d
 g | _ | j j | j j k s t ‚ t j	 | j d | j d ƒ t j	 | j d | j d ƒ d  S(   Nt   20130101g      @t   20130102g      @Rö   R%   t   indexi   i   t   yi    (
   R	   RÂ   RÃ   R/   Rö   R   R&   R   R   R   (   R“   Rû   t	   df_unique(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_interleave_non_unique_cols‡  s    c         C   s   d  S(   N(    (   R“   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_consolidate”  s    c         C   s  | j  d t t ƒ ƒ | j  d t t ƒ ƒ | j  d t t ƒ ƒ | j  d t t ƒ ƒ | j  d t t ƒ ƒ | j ƒ  } | j d k s t ‚ | j ƒ  j ƒ  } | j d k s¶ t ‚ t | j d j	 t
 ƒ sÕ t ‚ t j | j d j	 j t j t | j ƒ d	 t j ƒƒ d  S(
   NR¢   RP   RF   R  R  i   i   i    R   (   Ré   R   RZ   Rï   RÎ   R   t   get_numeric_dataR   R‹   R    R   R   R   R!   R(   R)   R.   R‚   Rž   (   R“   R   t   cons(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt    test_consolidate_ordering_issues—  s    c         C   s   d  S(   N(    (   R“   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyR®   §  s    c         C   sÆ  t  d ƒ } | j d d d d g d d ƒ} | j d k sB t ‚ t j | j t j d d d d g ƒ ƒ t	 | j
 d d	 t ƒ| j
 d d	 t ƒƒ t	 | j
 d d	 t ƒ| j
 d d	 t ƒƒ t	 | j
 d d	 t ƒ| j
 d d	 t ƒƒ t	 | j
 d d	 t ƒ| j
 d d	 t ƒƒ t	 | j
 d ƒ j ƒ  | j
 d ƒ j ƒ  ƒ t	 | j
 d ƒ j ƒ  | j
 d ƒ j ƒ  ƒ t	 | j
 d ƒ j ƒ  | j
 d ƒ j ƒ  ƒ t	 | j
 d ƒ j ƒ  | j
 d ƒ j ƒ  ƒ d  S(
   Ns2   a: f8; b: i8; c: f8; d: i8; e: f8;f: bool; g: f8-2R  RO   RN   RP   t   axisi    i   Rà   (   R   t   reindex_axisRÎ   R   R   t   assert_index_equalR‚   RÂ   R   R   Rã   Rº   Rä   (   R“   R   t	   reindexed(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_reindex_itemsª  s0    !(((((c         C   s  t  d ƒ } t d d d d d g d d d	 g g d
 d d d d d d d d d d g
 d d d d d d d d d d g
 g d d d g ƒ } | j d | ƒ | j d d d ƒ} | j d k sÄ t ‚ | j d d d k sá t ‚ | j d d d k sþ t ‚ d  S(   Ns   a,b,c: f8; d,e,f: i8t   levelsRç   Rè   RÕ   t   quxt   onet   twot   threet   codesi    i   i   i   R‰   t   firstt   secondR+  i   (   i   i   (   Rè   R2  (   Rè   R3  (   R   R   t   set_axist   xsR&   R   RÑ   (   R“   R   R#  t   result(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_multiindex_xsÇ  s    !'c         C   s  t  d d d ƒ} | j d t j d d d g d t j ƒƒ | j ƒ  } t j | j t	 j
 d d	 d
 d g ƒ ƒ t | j d	 d t ƒ| j d	 d t ƒƒ t | j d	 ƒ j ƒ  | j d	 ƒ j ƒ  ƒ | j d	 t j d d d g ƒ ƒ t | j d	 d t ƒt j d d d g ƒ ƒ t | j d	 ƒ j ƒ  t j d d d g ƒ ƒ | j d t ƒ } t j | j t	 j
 d d	 d
 d g ƒ ƒ | j d	 t j d d d g ƒ ƒ t | j d	 d t ƒt j d d d g ƒ ƒ t | j d	 ƒ j ƒ  t j d d d g ƒ ƒ d  S(   Ns[   int: int; float: float; complex: complex;str: object; bool: bool; obj: object; dt: datetimeRl   i   t   obji   i   R   R6   R2   R@   RG   Rà   g      Y@g      i@g     Àr@R/   g     @@g     @Ÿ@g     p§@(   i   (   R   Ré   R(   R   Rê   R(  R   R-  R‚   RÂ   R   R   Rã   Rº   Rä   R  (   R“   R   R  t   numeric2(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_get_numeric_dataÖ  s2    		+
"++"+c         C   sÜ  t  d d d	 ƒ} | j d t j t t t g d t j ƒƒ | j ƒ  } t j	 | j
 t j d g ƒ ƒ t | j d d t ƒ| j d d t ƒƒ t | j d ƒ j ƒ  | j d ƒ j ƒ  ƒ | j d t j t t t g ƒ ƒ t j | j d d t ƒt j t t t g ƒ ƒ t j | j d ƒ j ƒ  t j t t t g ƒ ƒ | j d t ƒ } | j d t j t t t g ƒ ƒ t j | j d d t ƒt j t t t g ƒ ƒ t j | j d ƒ j ƒ  t j t t t g ƒ ƒ d  S(
   Ns[   int: int; float: float; complex: complex;str: object; bool: bool; obj: object; dt: datetimeRl   i   R<  R   RG   Rà   R/   (   i   (   R   Ré   R(   R   R  Rº   Rê   t   get_bool_dataR   R-  R‚   RÂ   R   R   Rã   Rä   R   (   R“   R   t   boolst   bools2(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_get_bool_dataö  s*    		+""c         C   s   t  t t d ƒ ƒ ƒ d  S(   Ns   b,\u05d0: object(   t   reprR   R   (   R“   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_unicode_repr_doesnt_raise  s    c         C   sO   t  i d g d 6ƒ } y! | j d  d  … t d ƒ f Wn t k
 rJ n Xd  S(   Ni   RN   s   \u05d0(   R	   t   locR   R   (   R“   Rû   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_missing_unicode_key  s
    !c         C   sŠ   t  d ƒ } t | j d  d  d … | j ƒ } | j | ƒ sC t ‚ t  d ƒ } t | j d  d  d … | j ƒ } | j | ƒ s† t ‚ d  S(   Ns   a,b,c: i8-1; d,e,f: i8-2iÿÿÿÿs   a,a,a: i8-1; b,b,b: i8-2(   R   R   R‹   RÑ   Rþ   R   (   R“   t   bm1t   bm2(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_equals  s    ""c         C   s•   d d d d d g } xy | D]q } t  | ƒ } t j | j ƒ } xJ | D]B } t | | j ƒ } | j | ƒ st t ‚ | j | ƒ sG t ‚ qG Wq Wd  S(   Ns	   a:i8;b:f8s   a:i8;b:f8;c:c8;d:bs   a:i8;e:dt;f:td;g:strings'   a:i8;b:category;c:category2;d:category2s   c:sparse;d:sparse_na;b:f8(   R   t	   itertoolst   permutationsR‹   R   RÑ   Rþ   R   (   R“   t   mgr_stringst
   mgr_stringt   bmt   block_permst   bm_permt   bm_this(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt(   test_equals_block_order_different_dtypes&  s    	c         C   sC   t  d d d ƒ} | j ƒ  j ƒ  d d d d d g k s? t ‚ d  S(	   NR3   Rt   i   g        g      ð?g       @g      @g      @(   Ru   R!   t   tolistR   (   R“   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_single_mgr_ctor9  s    c      
   C   sn   d d d d d g d g } t  d ƒ } x@ | D]8 } t j t ƒ ! | j d g d g d | ƒWd  QXq. Wd  S(   Ni   R  i   i   g      @s   a,b,c: i8-1; d,e,f: i8-2t   inplace(   R   R²   R³   Rj   t   replace_list(   R“   t   invalid_valuesRG  t   value(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_validate_bool_args=  s
    (&   R¾   R¿   RÍ   R    RÐ   RÔ   RÖ   Rœ   RÛ   RÞ   Ræ   Rë   Rò   Rü   R­   R  R  R  R	  R
  R  R  R  R   R&  R'  R*  R®   R/  R;  R>  RB  RD  RF  RI  RR  RT  RY  (    (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyRÌ   =  sH   							
											
				=	2							 				
		t   TestIndexingc           B   sæ   e  Z e d  e ƒ e d e ƒ e d d e f ƒe d d e f ƒe d d e f ƒe d d e f ƒe d d e e f ƒe d d e e f ƒe d d e e f ƒe d d e e f ƒg
 Z d „  Z d „  Z d	 „  Z d
 „  Z	 RS(   R3   R7   s   a,b,c,d,e,f: f8Rl   s   a,b,c,d,e,f: i8s   a,b: f8; c,d: i8; e,f: strings   a,b: f8; c,d: i8; e,f: f8c      	   C   s  d „  } xö|  j  D]ë} xât | j ƒ D]Ñ} | | | t d  ƒ ƒ | | | t d ƒ ƒ | | | t d ƒ ƒ | | | t d d ƒ ƒ | | | t d d d ƒ ƒ | | | t j g  d t j ƒƒ | | | t j | j	 | d t j ƒƒ | | | t j
 | j	 | d t j ƒƒ | j	 | d k r…| | | t j | j	 | ƒ d d k ƒ | | | t j t t t g d t j ƒƒ n  | | | g  ƒ | | | t | j	 | ƒ ƒ | j	 | d k r) | | | d d d	 g ƒ | | | d
 d d g ƒ q) q) Wq Wd  S(   Nc         S   s
  |  j  ƒ  } t | t j ƒ r• |  j | } t | ƒ r• t | ƒ r• t | ƒ t | ƒ k r• t j | t j t | ƒ t | ƒ d t ƒg ƒ } q• n  |  j	 | d | ƒ} t
 d  ƒ f | | f } t j | | | j  ƒ  d t ƒt j |  j | | | j | ƒ d  S(   NR   R+  t   check_dtype(   R!   R   R(   Rÿ   RÑ   R.   t   concatenateRí   RG   t	   get_sliceRs   RY   R   R   Rº   R-  (   R   R+  t   slobjRo   t   axt   slicedt	   mat_slobj(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   assert_slice_okc  s    0+i   id   i   i   i    iþÿÿÿR   i   iÿÿÿÿiýÿÿÿ(   t   MANAGERSt   rangeRX   Rs   RY   R(   R   R_   R^   R&   Rí   R)   R  Rº   R   (   R“   Rb  R   R_  (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_get_sliceb  s8    	  !c         C   sÉ   d „  } x¹ |  j  D]® } x¥ t | j ƒ D]” } | | | g  ƒ | | | d d d g ƒ | | | t | j | ƒ ƒ | j | d k r) | | | d d d g ƒ | | | d d d g ƒ q) q) Wq Wd  S(	   Nc         S   st   |  j  ƒ  } |  j | | ƒ } t j t j | | | ƒ | j  ƒ  d t ƒt j |  j | j | ƒ | j | ƒ d  S(   NR[  (   R!   t   takeR   R   R(   Rº   R-  RÑ   (   R   R+  t   indexerRo   t   taken(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   assert_take_ok˜  s    i    i   i   i   iÿÿÿÿiþÿÿÿiýÿÿÿ(   Rc  Rd  RX   R   R&   (   R“   Ri  R   R_  (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt	   test_take—  s    	c         C   s•  d „  } x…|  j  D]z} xqt | j ƒ D]`} xWd  t j d f D]C} | | | t j g  ƒ | ƒ | | | | j | | ƒ | | | | j | d d d g | ƒ | | | t j d d d g ƒ | ƒ | | | t j d | j | d d g ƒ | ƒ | j	 | d k rB | | | | j | d  | ƒ | | | | j | d d  d	 … | ƒ | | | | j | d d
 d d d
 d g | ƒ qB qB Wq) Wq Wd  S(   Nc         S   s†   |  j  ƒ  } |  j | j | ƒ } |  j | | d | ƒ} t j t j | | | d | ƒ| j  ƒ  d t ƒt j	 | j | | ƒ d  S(   NRV   R[  (
   R!   RÑ   t   get_indexer_forR,  R   R   t   algost   take_ndRº   R-  (   R   R+  t
   new_labelsRV   Ro   Rg  R.  (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   assert_reindex_axis_is_ok¬  s    	g      Y@i    Rç   Rè   RÕ   i   iýÿÿÿiÿÿÿÿi   i   (
   Rc  Rd  RX   RY   R(   Rg   RÂ   R   RÑ   R&   (   R“   Ro  R   R_  RV   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_reindex_axis«  s<    	 c         C   s:  d „  } x*|  j  D]} xt | j ƒ D]} xüd  t j d f D]è} | | | t j g  ƒ g  | ƒ | | | | j | t j	 | j
 | ƒ | ƒ | | | t j d g | j
 | ƒ t j	 | j
 | ƒ | ƒ | | | | j | d  d  d … t j	 | j
 | ƒ | ƒ | | | | j | t j	 | j
 | ƒ d  d  d … | ƒ | | | t j d d d g ƒ d d d g | ƒ | | | t j d d d g ƒ d d d g | ƒ | | | t j d | j | d d g ƒ d d d g | ƒ | j
 | d k rB | | | t j d d d g ƒ d d	 d
 g | ƒ qB qB Wq) Wq Wd  S(   Nc         S   sy   |  j  ƒ  } t j | | | d | ƒ} |  j | | | d | ƒ} t j | | j  ƒ  d t ƒt j | j | | ƒ d  S(   NRV   R[  (	   R!   Rl  Rm  t   reindex_indexerR   R   Rº   R-  RÑ   (   R   R+  Rn  Rg  RV   Ro   t   reindexed_matR.  (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   assert_reindex_indexer_is_okÙ  s    			g      Y@Rç   iÿÿÿÿRè   RÕ   i    i   i   i   (   Rc  Rd  RX   RY   R(   Rg   RÂ   R   RÑ   R)   R&   (   R“   Rs  R   R_  RV   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_reindex_indexer×  sL    	$*' (
   R¾   R¿   Ru   RZ   R   Rc  Re  Rj  Rp  Rt  (    (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyRZ  F  s   
	5		,t   TestBlockPlacementc           B   sb   e  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  t t d d ƒ ƒ ƒ d k s' t ‚ t  t t d d d ƒ ƒ ƒ d k sQ t ‚ t  t t d d d ƒ ƒ ƒ d k s{ t ‚ t  t t d d d ƒ ƒ ƒ d k s¥ t ‚ t  t t d d d ƒ ƒ ƒ d k sÏ t ‚ d  S(   Ni    i   i   i   i   iÿÿÿÿ(   R.   R   Rs   R   (   R“   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_slice_len  s
    '***c      
   C   s\   t  j t ƒ  t t d d d ƒ ƒ Wd  QXt  j t ƒ  t t d d d ƒ ƒ Wd  QXd  S(   Ni   i    i   (   R²   R³   Rj   R   Rs   (   R“   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_zero_step_raises  s    c         C   sÚ   d „  } | t  d  d  ƒ ƒ | t  d d  ƒ ƒ | t  d  d  d ƒ ƒ | t  d  d d ƒ ƒ | t  d d  ƒ ƒ | t  d  d ƒ ƒ | t  d d ƒ ƒ | t  d d  d ƒ ƒ | t  d  d d ƒ ƒ | t  d d d ƒ ƒ d  S(   Nc         S   s*   t  j t d d ƒ t |  ƒ Wd  QXd  S(   Nt   matchs   unbounded slice(   R²   R³   Rj   R   (   t   slc(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   assert_unbounded_slice_error#  s    i
   iÿÿÿÿ(   Rs   RY   (   R“   Rz  (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_unbounded_slice_raises"  s    	c         C   s   d „  } | t  d d ƒ ƒ | t  d d ƒ ƒ | t  d d d ƒ ƒ | t  d d d ƒ ƒ t t  d d ƒ ƒ j sz t ‚ t t  d d ƒ ƒ j s™ t ‚ d  S(   Nc         S   s   t  |  ƒ j s t ‚ d  S(   N(   R   t   is_slice_likeR   (   Ry  (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   assert_not_slice_like6  s    i    id   iÿÿÿÿ(   Rs   R   R|  R   (   R“   R}  (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_not_slice_like_slices5  s    	c         C   s  d „  } | d g t  d d d ƒ ƒ | d g t  d d d ƒ ƒ | d d d g t  d d d ƒ ƒ | d d d	 g t  d d
 d ƒ ƒ | d d g t  d d d ƒ ƒ | d d g t  d d d ƒ ƒ t s| d d d g t  d d  d ƒ ƒ | d d g t  d d  d ƒ ƒ n  d  S(   Nc         S   s   t  |  ƒ j | k s t ‚ d  S(   N(   R   t   as_sliceR   (   R0   Ry  (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   assert_as_slice_equalsC  s    i    i   id   ie   i   i   i   i
   i   iÈ   iÿÿÿÿiœÿÿÿ(   Rs   t   PY361RY   (   R“   R€  (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_array_to_slice_conversionB  s    	"""c         C   s£   d „  } | g  ƒ | d g ƒ | d d d g ƒ | d g ƒ | d g ƒ | d d d d g ƒ | d d d d	 g ƒ | d d d g ƒ | d d d g ƒ d  S(
   Nc         S   s   t  |  ƒ j s t ‚ d  S(   N(   R   R|  R   (   R0   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyR}  T  s    iÿÿÿÿiþÿÿÿiýÿÿÿiöÿÿÿi    i   i   i   (    (   R“   R}  (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_not_slice_like_arraysS  s    	
c         C   sô   t  t t d d ƒ ƒ ƒ d d d g k s0 t ‚ t  t t d d ƒ ƒ ƒ g  k sW t ‚ t  t t d d ƒ ƒ ƒ g  k s~ t ‚ t sð t  t t d d d ƒ ƒ ƒ d d d g k s· t ‚ t  t t d d  d ƒ ƒ ƒ d d d d g k sð t ‚ n  d  S(   Ni    i   i   i   iÿÿÿÿ(   R€   R   Rs   R   R  RY   (   R“   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_slice_itera  s    0''3c         C   sÍ   d „  } | t  d d ƒ d d d g ƒ | t  d d ƒ g  ƒ | t  d d ƒ g  ƒ | t  d d d ƒ d d d g ƒ t sÉ | t  d d  d ƒ d d d d g ƒ | t  d d  d ƒ d d	 d
 d g ƒ n  d  S(   Nc         S   s/   t  j t |  ƒ j t j | d t j ƒƒ d  S(   NR   (   R   R   R   R!   R(   t   asarrayRž   (   Ry  R…  (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   assert_as_array_equalsk  s    i    i   i   i   iÿÿÿÿi   iöÿÿÿi   i   (   Rs   R  RY   (   R“   R†  (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_slice_to_array_conversionj  s    	"%c         C   sµ   t  t d d ƒ ƒ } | j d ƒ j t d d d ƒ k s? t ‚ | j t j d ƒ ƒ j t d d d ƒ k sr t ‚ t | j t j d d d ƒ ƒ ƒ d d d d d g k s± t ‚ d  S(   Ni    i   i   i   i
   i   iÿÿÿÿ(   R   Rs   t   addR  R   R(   R)   R€   (   R“   t   bpl(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_blockplacement_addz  s    *3c         C   s  d „  } | t  d d ƒ d g  ƒ | t  d d ƒ d d d d g ƒ | t  d d d ƒ d d d d g ƒ | d d d g d d d d g ƒ | t  d d ƒ d g  ƒ | t  d d ƒ d d	 d
 d g ƒ | t  d d d ƒ d d d
 d	 g ƒ | d d d g d d	 d
 d g ƒ | t  d d ƒ d g  ƒ | t  d d ƒ d d d d g ƒ | d d d g d d d d g ƒ t j t ƒ ! t t  d d ƒ ƒ j d ƒ Wd  QXt j t ƒ ! t d d d g ƒ j d ƒ Wd  QXt s{| t  d d d ƒ d d d d g ƒ | t  d d  d ƒ d d d d g ƒ | t  d d  d ƒ d d
 d	 d g ƒ t j t ƒ $ t t  d d  d ƒ ƒ j d ƒ Wd  QXn  d  S(   Nc         S   s+   t  t |  ƒ j | ƒ ƒ | k s' t ‚ d  S(   N(   R€   R   Rˆ  R   (   RÉ   t   incR:  (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   assert_add_equals  s    i    i   i   i   i   iÿÿÿÿi
   i   i   i   i   iöÿÿÿ(   Rs   R²   R³   Rj   R   Rˆ  R  RY   (   R“   RŒ  (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_blockplacement_add_int€  s,    	"%""%"""""%%%(   R¾   R¿   Rv  Rw  R{  R~  R‚  Rƒ  R„  R‡  RŠ  R  (    (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyRu    s   										t   DummyElementc           B   sM   e  Z d  „  Z d „  Z d „  Z d „  Z e d „ Z d „  Z d d „ Z
 RS(   c         C   s   | |  _  t j | ƒ |  _ d  S(   N(   RX  R(   R   (   R“   RX  R   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   __init__¡  s    	c         C   s   t  j |  j d |  j ƒS(   NR   (   R(   R   RX  R   (   R“   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt	   __array__¥  s    c         C   s   d j  |  j |  j ƒ S(   Ns   DummyElement({}, {})(   Rc   RX  R   (   R“   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   __str__¨  s    c         C   s
   t  |  ƒ S(   N(   t   str(   R“   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   __repr__«  s    c         C   s   | |  _  |  S(   N(   R   (   R“   R   R/   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyR[   ®  s    	c         C   s   t  |  ƒ |  j j | ƒ | ƒ S(   N(   RÆ   RX  Ri   (   R“   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyRi   ²  s    c         C   s   t  |  j ƒ S(   N(   RG   RX  (   R“   R+  (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   anyµ  s    N(   R¾   R¿   R  R  R‘  R“  Rº   R[   Ri   RY   R”  (    (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyRŽ     s   					t   TestCanHoldElementc           B   sª   e  Z e j j d  d d d d d e d	 f e j d
 d ƒ d f e j d
 d ƒ d f g ƒ e j j d e	 j
 e	 j e	 j e	 j e	 j e	 j g d d „  ƒd „  ƒ ƒ Z RS(   s   value, dtypei   R7   g      ð?R3   i   i?   y              ð?t
   complex128RG   i   t   nss   <m8[ns]s   <M8[ns]t   opt   idsc         C   s   |  j  S(   N(   R¾   (   R%   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyR{   Ë  s    c   
      C   s  t  j d f t  j d f t  j d f t  j d f t  j d f t  j d f t  j d f h } | | f | k rˆ t j d j	 | | ƒ ƒ n  t
 | | ƒ } t j i | j | j g d 6d | j ƒ} t  j d f t  j d f t  j d f t  j d f t  j d f t  j d f t  j d f h } | | f | k rWt j t ƒ  | | | j ƒ Wd  QXn4 | | | j ƒ j } | | | ƒ j }	 t | |	 ƒ d  S(	   NRG   R7   R–  s   Invalid combination {},{}t   AR   s   <M8[ns]s   <m8[ns](   t   operatorRˆ  t   subt   mult   truedivt   modt   powR²   t   skipRc   RŽ  RÂ   R	   RX  R   R³   t	   TypeErrort   dtypesR   (
   R“   R˜  RX  R   R¡  R¡   RT   t   invalidR:  t   expected(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_binop_otherº  s0    +(   i   R7   (   g      ð?R3   l            (   l            R3   (   y              ð?R–  l            (   l            R–  (   R¾   R¿   R²   t   markt   parametrizeR  R(   t   timedelta64RÅ   R›  Rˆ  Rœ  R  Rž  RŸ  R   R¦  (    (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyR•  ¹  s"   	s   typestr, holderRL   s   M8[ns]s   M8[ns, US/Central]s   m8[ns]RQ   c         C   s+   t  |  d g ƒ } | j | k s' t ‚ d  S(   Ni   (   Rr   t   _holderR   (   Rk   t   holderRš   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_holderí  s    c       
   C   sT   t  j j d d ƒ }  t j t d t ƒ$ t |  d t  j d ƒ d t	 ƒWd  QXd  S(   Ni   R·   RW   Rà   (
   R(   Rá   Râ   R   R¸   R¹   Rº   R   R)   R  (   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_deprecated_fastpathù  s    
c       	   C   sZ   t  j d d g ƒ }  t d ƒ } d } t j t d | ƒ t |  | d d ƒWd  QXd  S(   Ng      ð?g       @i   s:   Wrong number of dimensions. values.ndim != ndim \[1 != 2\]Rx  RX   (   R(   R   Rs   R²   R³   Rj   R   (   R   RW   t   msg(    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_validate_ndim  s
    c          C   sŸ   t  j d d d d d g ƒ }  t  j d d d g ƒ j |  ƒ } t  j t  j d d d g ƒ ƒ j |  ƒ } | j j d j j | j j d j j k s› t	 ‚ d  S(   Ni    i   i   i   i   (
   RÂ   R   R   t   reindexR   R  R‹   R    Rg  R   (   t   idxRN   RF   (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   test_block_shape
  s
    !*(G   R   R    t   distutils.versionR   RJ  R›  Ra   t   syst   numpyR(   R²   t   pandas._libs.internalsR   t   pandas.compatR   R   R   R   t   pandasRÂ   R   R	   R
   R   R   R   R   t   pandas.core.algorithmst   coret
   algorithmsRl  t   pandas.core.arraysR   R   t   pandas.core.internalsR   R   R   t   pandas.util.testingt   utilt   testingR   R   R   R   R   t   versionR  t   fixtureR   R$   R1   RZ   RY   Rr   Ru   R   RC   R   RÀ   RÌ   RZ  Ru  RŽ  R•  R§  R¨  R¬  R­  R¯  R²  (    (    (    sD   lib/python2.7/site-packages/pandas/tests/internals/test_internals.pyt   <module>   sT   "4"			G	;fÿ ÿ ÌŽ4							