
x\c           @   st   d  d l  Z d  d l m Z d  d l m Z d  d l Z d  d l j	 j
 Z d d l m Z d e f d     YZ d S(   iN(   t   is_extension_array_dtype(   t   ExtensionDtypei   (   t   BaseExtensionTestst   BaseInterfaceTestsc           B   s_   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z RS(
   s,   Tests that the basic interface is satisfied.c         C   s   t  |  d k s t  d  S(   Nid   (   t   lent   AssertionError(   t   selft   data(    (    sD   lib/python2.7/site-packages/pandas/tests/extension/base/interface.pyt   test_len   s    c         C   s   | j  d k s t  d  S(   Ni   (   t   ndimR   (   R   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/extension/base/interface.pyt	   test_ndim   s    c         C   s   | j  t k s t  d  S(   N(   t   _can_hold_nat   TrueR   (   R   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/extension/base/interface.pyt   test_can_hold_na_valid   s    c         C   s:   t  j |  } | j d t  } | | j k s6 t  d  S(   Nt   index(   t   pdt   Seriest   memory_usaget   Falset   nbytesR   (   R   R   t   st   result(    (    sD   lib/python2.7/site-packages/pandas/tests/extension/base/interface.pyt   test_memory_usage   s    c         C   sm   t  j |  } | d | d k s) t  t  j | d t } t  j t |  d t } t j | |  d  S(   Ni    t   dtype(   t   npt   arrayR   t   objectt   listt   tmt   assert_numpy_array_equal(   R   R   R   t   expected(    (    sD   lib/python2.7/site-packages/pandas/tests/extension/base/interface.pyt   test_array_interface!   s
    c         C   s^   t  |  s t  t  | j  s' t  t  t j |   sB t  t | j t  sZ t  d  S(   N(   R    R   R   R   R   t
   isinstanceR   (   R   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/extension/base/interface.pyt   test_is_extension_array_dtype)   s    c         C   s0   t  | d  s t  t  | d  s, t  d  S(   Nt   valuest   _values(   t   hasattrR   (   R   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/extension/base/interface.pyt   test_no_values_attribute/   s    c         C   s8   t  j |  } | j j d j | j j k s4 t  d  S(   Ni    (   R   R   t   _datat   blockst
   is_numericR   t   _is_numericR   (   R   R   R   (    (    sD   lib/python2.7/site-packages/pandas/tests/extension/base/interface.pyt   test_is_numeric_honored5   s    c         C   s   | j    } t |  r} | j d  s- t  | j   s? t  | j d  sU t  | j   sh t  | j j s} t  n  d  S(   Nt   anyt   all(   t   isnaR    t   _reduceR   R+   R,   R   t   _is_boolean(   R   t   data_missingt   na(    (    sD   lib/python2.7/site-packages/pandas/tests/extension/base/interface.pyt   test_isna_extension_array9   s    (   t   __name__t
   __module__t   __doc__R   R
   R   R   R   R!   R%   R*   R2   (    (    (    sD   lib/python2.7/site-packages/pandas/tests/extension/base/interface.pyR      s   								(   t   numpyR   t   pandas.core.dtypes.commonR    t   pandas.core.dtypes.dtypesR   t   pandasR   t   pandas.util.testingt   utilt   testingR   t   baseR   R   (    (    (    sD   lib/python2.7/site-packages/pandas/tests/extension/base/interface.pyt   <module>   s   