ó
šxŠ\c           @   s¢   d  d l  Z  d  d l Z d  d l Z d  d l j j Z d d l m	 Z	 d e	 f d „  ƒ  YZ
 d e
 f d „  ƒ  YZ d e
 f d	 „  ƒ  YZ d
 e
 f d „  ƒ  YZ d S(   iÿÿÿÿNi   (   t   BaseExtensionTestst   BaseReduceTestsc           B   s   e  Z d  Z d „  Z RS(   sg   
    Reduction specific tests. Generally these only
    make sense for numeric/boolean operations.
    c         C   sM   t  | | ƒ d | ƒ } t  | j d ƒ | ƒ d | ƒ } t j | | ƒ d  S(   Nt   skipnat   float64(   t   getattrt   astypet   tmt   assert_almost_equal(   t   selft   st   op_nameR   t   resultt   expected(    (    sA   lib/python2.7/site-packages/pandas/tests/extension/base/reduce.pyt   check_reduce   s    !(   t   __name__t
   __module__t   __doc__R   (    (    (    sA   lib/python2.7/site-packages/pandas/tests/extension/base/reduce.pyR      s   t   BaseNoReduceTestsc           B   sV   e  Z d  Z e j j d e e g ƒ d „  ƒ Z e j j d e e g ƒ d „  ƒ Z	 RS(   s     we don't define any reductions R   c         C   sE   | } t  j | ƒ } t j t ƒ  t | | ƒ d | ƒ Wd  QXd  S(   NR   (   t   pdt   Seriest   pytestt   raisest	   TypeErrorR   (   R   t   datat   all_numeric_reductionsR   R
   R	   (    (    sA   lib/python2.7/site-packages/pandas/tests/extension/base/reduce.pyt   test_reduce_series_numeric   s    c         C   sE   | } t  j | ƒ } t j t ƒ  t | | ƒ d | ƒ Wd  QXd  S(   NR   (   R   R   R   R   R   R   (   R   R   t   all_boolean_reductionsR   R
   R	   (    (    sA   lib/python2.7/site-packages/pandas/tests/extension/base/reduce.pyt   test_reduce_series_boolean!   s    (
   R   R   R   R   t   markt   parametrizet   Truet   FalseR   R   (    (    (    sA   lib/python2.7/site-packages/pandas/tests/extension/base/reduce.pyR      s   $t   BaseNumericReduceTestsc           B   s,   e  Z e j j d  e e g ƒ d „  ƒ Z RS(   R   c         C   sO   | } t  j | ƒ } t j ƒ  ( t j d t ƒ |  j | | | ƒ Wd  QXd  S(   Nt   ignore(   R   R   t   warningst   catch_warningst   simplefiltert   RuntimeWarningR   (   R   R   R   R   R
   R	   (    (    sA   lib/python2.7/site-packages/pandas/tests/extension/base/reduce.pyt   test_reduce_series,   s
    (   R   R   R   R   R   R   R   R&   (    (    (    sA   lib/python2.7/site-packages/pandas/tests/extension/base/reduce.pyR    *   s   t   BaseBooleanReduceTestsc           B   s,   e  Z e j j d  e e g ƒ d „  ƒ Z RS(   R   c         C   s,   | } t  j | ƒ } |  j | | | ƒ d  S(   N(   R   R   R   (   R   R   R   R   R
   R	   (    (    sA   lib/python2.7/site-packages/pandas/tests/extension/base/reduce.pyR&   9   s    (   R   R   R   R   R   R   R   R&   (    (    (    sA   lib/python2.7/site-packages/pandas/tests/extension/base/reduce.pyR'   7   s   (   R"   R   t   pandasR   t   pandas.util.testingt   utilt   testingR   t   baseR    R   R   R    R'   (    (    (    sA   lib/python2.7/site-packages/pandas/tests/extension/base/reduce.pyt   <module>   s   