ó
šxŠ\c           @   s(  d  Z  d d l Z d d l Z d d l j j Z d d l Z	 d d l m
 Z
 d d l m Z d d l m Z d d l j j Z e j d e j d d g d	 e ƒe j d
 d g d	 e ƒe j d
 d g d	 e ƒe j d
 d1 g d	 e ƒe j e e g d	 e ƒe j d
 d g d	 d ƒe j d
 d g d	 d ƒg ƒ d „  ƒ Z e j j d d e f d e f d e f d e f d e f d e f e j d e d e j j e
 j  d d ƒƒd e f d e f d e f g
 ƒ d „  ƒ Z! e j j d d e f d e f d e f d e f d e f d e f e j d e d e j j e
 j  d d ƒƒd e f d e f d e f g
 ƒ d „  ƒ Z" d „  Z# d  „  Z$ d! „  Z% d" „  Z& d# „  Z' d$ „  Z( d% „  Z) d& „  Z* d' „  Z+ d( „  Z, d) „  Z- d* „  Z. d+ „  Z/ e j0 d, d- d. ƒd/ „  ƒ Z1 e j0 d, d- d. ƒd0 „  ƒ Z2 d S(2   sN   
Additional tests for PandasArray that aren't covered by
the interface tests.
iÿÿÿÿN(   t   compat(   t   PandasArray(   t   PandasDtypet   paramst   at   bt   dtypei    i   y               @s   datetime64[ns]s   timedelta64[ns]c         C   s   |  j  S(   sk   
    Parametrized fixture for NumPy arrays with different dtypes.

    This excludes string and bytes.
    (   t   param(   t   request(    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt   any_numpy_array   s    s   dtype, expectedt   boolt   intt   uintt   floatt   complext   strt   bytest   markst   reasont   PY2t   objectt   voidc         C   s%   t  |  ƒ }  |  j | k s! t ‚ d  S(   N(   R   t   _is_numerict   AssertionError(   R   t   expected(    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt   test_is_numeric&   s    c         C   s%   t  |  ƒ }  |  j | k s! t ‚ d  S(   N(   R   t   _is_booleanR   (   R   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt   test_is_boolean8   s    c          C   s1   t  t j d ƒ ƒ }  t |  ƒ d k s- t ‚ d  S(   Nt   int64s   PandasDtype('int64')(   R   t   npR   t   reprR   (   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt	   test_reprJ   s    c          C   s:   t  j d ƒ }  t  t j d ƒ ƒ } |  | k s6 t ‚ d  S(   NR   (   R   t   construct_from_stringR   R   R   (   t   resultR   (    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt   test_constructor_from_stringO   s    c           C   s3   t  j t d d ƒ t d d d g ƒ Wd  QXd  S(   Nt   matchs   NumPy arrayi   i   i   (   t   pytestt   raisest
   ValueErrorR   (    (    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt   test_constructor_no_coercionX   s    c          C   sL   t  j d d d g ƒ }  t j t |  ƒ d t ƒ} | j |  k	 sH t ‚ d  S(   Ni   i   i   t   copy(   R   t   arrayt   pdt   SeriesR   t   Truet   valuesR   (   t   ndarrayt   ser(    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt!   test_series_constructor_with_copy]   s    c          C   se   t  j d d d g ƒ }  t j t |  ƒ d d ƒ} t j d d d g d d ƒ} t j | | ƒ d  S(	   Ni   i   i   R   t   float64g      ð?g       @g      @(   R   R)   R*   R+   R   t   tmt   assert_series_equal(   R.   R!   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt#   test_series_constructor_with_astyped   s    c          C   sk   t  j d d d g d d ƒ}  t j |  d d ƒ} t t  j d d d g d d ƒƒ } t j | | ƒ d  S(   Ni   i   i   R   R   t   uint64(   R   R)   R   t   _from_sequenceR2   t   assert_extension_array_equal(   t   arrR!   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt   test_from_sequence_dtypek   s    $c          C   sL   t  j d d g ƒ }  t |  d t ƒ} t  j | j |  ƒ t k sH t ‚ d  S(   Ni    i   R(   (   R   R)   R   R,   t   shares_memoryt   _ndarrayt   FalseR   (   R8   R!   (    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt   test_constructor_copyr   s    c         C   s1   |  } t  | ƒ } | j j | j k s- t ‚ d  S(   N(   R   R   t   numpy_dtypeR   (   R	   t   nparrR8   (    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt   test_constructor_with_datay   s    c          C   sª   t  t j d d d g ƒ ƒ }  |  j ƒ  } | |  j k s? t ‚ |  j d t ƒ } | |  j k	 sf t ‚ |  j d d ƒ } t j d d d g d d ƒ} t j | | ƒ d  S(   Ni   i   i   R(   R   t   f8(	   R   R   R)   t   to_numpyR;   R   R,   R2   t   assert_numpy_array_equal(   R8   R!   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt   test_to_numpy‚   s    c          C   sQ   t  j d d d g ƒ }  d |  j d <t  j d d d g ƒ } t j |  | ƒ d  S(   Ni   i   i   i
   i    (   R*   R+   R)   R2   R3   (   R/   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt   test_setitem_series’   s    c         C   sN   |  } t  | d t ƒ} | d | d <| d | d <t j | j ƒ  | ƒ d  S(   NR(   i   i    (   R   R,   R2   RC   RB   (   R	   R?   R8   (    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt   test_setitem™   s
    c          C   s]   t  j d d d g d d ƒ}  t |  ƒ }  d } t j t d | ƒ |  j | ƒ Wd  QXd  S(   Ni   i   i   R   R   s)   cannot perform not_a_method with type intR#   (   R   R)   R   R$   R%   t	   TypeErrort   _reduce(   R8   t   msg(    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt   test_bad_reduce_raises¦   s
    c          C   sT   t  t j d d d g ƒ ƒ }  d } t j t d | ƒ |  j d t ƒ Wd  QXd  S(   Ni   i   i   s/   the 'keepdims' parameter is not supported .*allR#   t   keepdims(   R   R   R)   R$   R%   R&   t   allR,   (   R8   RI   (    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt$   test_validate_reduction_keyword_args®   s    t   numpyt   min_versions   1.13.0c          C   sß   t  t j d d d g ƒ ƒ }  t j |  ƒ } t  t j |  j ƒ ƒ } t j | | ƒ t j |  t j |  d ƒ ƒ \ } } t j |  j t j |  j d ƒ ƒ \ } } t  | ƒ } t  | ƒ } t j | | ƒ t j | | ƒ d  S(   Ng      ð¿g        g      ð?i   (	   R   R   R)   t   absR;   R2   R7   t   divmodt   add(   R8   R!   R   t   r1t   r2t   e1t   e2(    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt
   test_ufunc¸   s    $*c          C   sZ   t  t j d d d g ƒ ƒ }  |  |  } t  t j d d d g ƒ ƒ } t j | | ƒ d  S(   Ni   i   i   i   i   (   R   R   R)   R2   R7   (   t   xR!   R   (    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt   test_basic_binopÇ   s    
y      ð?       @(3   t   __doc__RN   R   R$   t   pandas.util._test_decoratorst   utilt   _test_decoratorst   tdt   pandasR*   R    t   pandas.arraysR   t   pandas.core.arrays.numpy_R   t   pandas.util.testingt   testingR2   t   fixtureR)   R   R   R   R   R,   R<   R
   R	   t   markt   parametrizeR   t   skipifR   R   R   R   R"   R'   R0   R4   R9   R=   R@   RD   RE   RF   RJ   RM   t
   skip_if_noRW   RY   (    (    (    s=   lib/python2.7/site-packages/pandas/tests/arrays/test_numpy.pyt   <module>   sn   	*																															
