ó
šxŠ\c           @   sh  d  Z  d d l Z d d l Z d d l m Z d d l m Z d d l m	 Z	 d d l
 m Z d „  Z e j d „  ƒ Z e j d	 „  ƒ Z e j d
 „  ƒ Z e j d „  ƒ Z e j d „  ƒ Z e j d „  ƒ Z e j d „  ƒ Z d e f d „  ƒ  YZ d e e j f d „  ƒ  YZ d e e j f d „  ƒ  YZ d e e j f d „  ƒ  YZ d e e j f d „  ƒ  YZ d e e j f d „  ƒ  YZ  d e e j! f d „  ƒ  YZ" d e j# f d „  ƒ  YZ$ d e e j% f d  „  ƒ  YZ& d! e e j' f d" „  ƒ  YZ( d# e e j) f d$ „  ƒ  YZ* d% e e j+ f d& „  ƒ  YZ, d' e e j- f d( „  ƒ  YZ. d) e e j/ f d* „  ƒ  YZ0 d S(+   sj  
This file contains a minimal set of tests for compliance with the extension
array interface test suite, and should contain no other tests.
The test suite for the full functionality of the array is located in
`pandas/tests/arrays/`.

The tests in this file are inherited from the BaseExtensionTests, and only
minimal tweaks should be applied to get the tests passing (by overwriting a
parent method).

Additional tests should either be added to one of the BaseExtensionTests
classes (if they are relevant for the extension interface for all dtypes), or
be added to the array-specific tests in `pandas/tests/arrays/`.

iÿÿÿÿN(   t   IntervalDtype(   t   Interval(   t   IntervalArray(   t   basec          C   si   d }  t  j j d |  ƒ j ƒ  } | t  j j d |  ƒ } g  t | | ƒ D] \ } } t | | ƒ ^ qJ S(   Nid   t   size(   t   npt   randomt   uniformt   cumsumt   zipR   (   t   Nt   leftt   rightt   lt   r(    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyt	   make_data   s    c           C   s   t  ƒ  S(   N(   R    (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyt   dtype!   s    c           C   s   t  t ƒ  ƒ S(   s*   Length-100 PeriodArray for semantics test.(   R   R   (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyt   data&   s    c           C   s   t  j d d g ƒ S(   s   Length 2 array with [NA, Valid]i    i   N(   i    i   (   R   t   from_tuplest   None(    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyt   data_missing,   s    c           C   s   t  j d d d g ƒ S(   Ni   i   i   i    (   i   i   (   i   i   (   i    i   (   R   R   (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyt   data_for_sorting2   s    c           C   s   t  j d d  d g ƒ S(   Ni   i   i    (   i   i   (   i    i   (   R   R   R   (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyt   data_missing_for_sorting7   s    c           C   s   t  j S(   N(   R   t   nan(    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyt   na_value<   s    c       	   C   s7   d }  d } d } t  j | | d  d  |  |  | | g ƒ S(   Ni    i   i   i   (   i    i   (   i   i   (   i   i   (   R   R   R   (   t   at   bt   c(    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyt   data_for_groupingA   s    t   BaseIntervalc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyR   I   s   t	   TestDtypec           B   s   e  Z RS(    (   R   R   (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyR    M   s   t   TestCastingc           B   s   e  Z RS(    (   R   R   (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyR!   Q   s   t   TestConstructorsc           B   s   e  Z RS(    (   R   R   (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyR"   U   s   t   TestGetitemc           B   s   e  Z RS(    (   R   R   (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyR#   Y   s   t   TestGroupingc           B   s   e  Z RS(    (   R   R   (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyR$   ]   s   t   TestInterfacec           B   s   e  Z RS(    (   R   R   (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyR%   a   s   t
   TestReducec           B   s   e  Z RS(    (   R   R   (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyR&   e   s   t   TestMethodsc           B   sD   e  Z e j j d  d ƒ d „  ƒ Z e j j d  d ƒ d „  ƒ Z RS(   t   reasons%   addition is not defined for intervalsc         C   s   d  S(   N(    (   t   selft   data_repeated(    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyt   test_combine_addk   s    s   Not Applicablec         C   s   d  S(   N(    (   R)   R   (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyt   test_fillna_length_mismatcho   s    (   R   R   t   pytestt   markt   skipR+   R,   (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyR'   i   s   t   TestMissingc           B   s_   e  Z e j j d  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z	 d „  Z
 RS(   s   Unsupported fillna option.c         C   s   d  S(   N(    (   R)   (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyt   test_fillna_limit_pady   s    c         C   s   d  S(   N(    (   R)   (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyt   test_fillna_series_method}   s    c         C   s   d  S(   N(    (   R)   (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyt   test_fillna_limit_backfill   s    c         C   s   d  S(   N(    (   R)   (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyt   test_fillna_series…   s    c         C   s9   d } t  j t d | ƒ | j d d g ƒ Wd  QXd  S(   Ns   Got a 'list' instead.t   matchi   (   R-   t   raisest	   TypeErrort   fillna(   R)   R   t   msg(    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyt   test_non_scalar_raises‰   s    (   R   R   R-   R.   R/   t   unsupported_fillR1   R2   R3   R4   R:   (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyR0   t   s   t   TestReshapingc           B   s   e  Z RS(    (   R   R   (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyR<      s   t   TestSetitemc           B   s   e  Z RS(    (   R   R   (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyR=   “   s   t   TestPrintingc           B   s&   e  Z e j j d  d ƒ d „  ƒ Z RS(   R(   s   custom reprc         C   s   d  S(   N(    (   R)   R   R   (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyt   test_array_repr˜   s    (   R   R   R-   R.   R/   R?   (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyR>   —   s   t   TestParsingc           B   s,   e  Z e j j d  d d g ƒ d „  ƒ Z RS(   t   engineR   t   pythonc         C   s?   d } t  j t d | ƒ t t |  ƒ j | | ƒ Wd  QXd  S(   Ns,   .*must implement _from_sequence_of_strings.*R5   (   R-   R6   t   NotImplementedErrort   superR@   t   test_EA_types(   R)   RA   R   t   expected_msg(    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyRE   ž   s    (   R   R   R-   R.   t   parametrizeRE   (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyR@      s   (1   t   __doc__t   numpyR   R-   t   pandas.core.dtypes.dtypesR    t   pandasR   t   pandas.core.arraysR   t   pandas.tests.extensionR   R   t   fixtureR   R   R   R   R   R   R   t   objectR   t   BaseDtypeTestsR    t   BaseCastingTestsR!   t   BaseConstructorsTestsR"   t   BaseGetitemTestsR#   t   BaseGroupbyTestsR$   t   BaseInterfaceTestsR%   t   BaseNoReduceTestsR&   t   BaseMethodsTestsR'   t   BaseMissingTestsR0   t   BaseReshapingTestsR<   t   BaseSetitemTestsR=   t   BasePrintingTestsR>   t   BaseParsingTestsR@   (    (    (    sC   lib/python2.7/site-packages/pandas/tests/extension/test_interval.pyt   <module>   s8   	