σ
ίΘ[c           @` s(  d  d l  m Z m Z m Z m Z d  d l Z d  d l Z d  d l m	 Z	 d d l
 m Z m Z d d l m Z m Z d d l
 m Z d	 e e f d
     YZ d e f d     YZ d   Z d   Z d   Z e j j d d d d g  d    Z d   Z d   Z d   Z d   Z d   Z d S(   i    (   t   absolute_importt   divisiont   print_functiont   unicode_literalsN(   t   assert_array_equali   (   t   NDDatat   NDSlicingMixin(   t   NDUncertaintyt   StdDevUncertaintyi   (   t   unitst   NDDataSliceablec           B` s   e  Z RS(    (   t   __name__t
   __module__(    (    (    sI   lib/python2.7/site-packages/astropy/nddata/mixins/tests/test_ndslicing.pyR
      s   t   SomeUncertaintyc           B` s;   e  Z e d     Z d   Z d   Z d   Z d   Z RS(   c         C` s   d S(   Nu   fake(    (   t   self(    (    sI   lib/python2.7/site-packages/astropy/nddata/mixins/tests/test_ndslicing.pyt   uncertainty_type   s    c         C` s   d  S(   N(    (   R   t   datat
   final_data(    (    sI   lib/python2.7/site-packages/astropy/nddata/mixins/tests/test_ndslicing.pyt   _propagate_add   s    c         C` s   d  S(   N(    (   R   R   R   (    (    sI   lib/python2.7/site-packages/astropy/nddata/mixins/tests/test_ndslicing.pyt   _propagate_subtract"   s    c         C` s   d  S(   N(    (   R   R   R   (    (    sI   lib/python2.7/site-packages/astropy/nddata/mixins/tests/test_ndslicing.pyt   _propagate_multiply%   s    c         C` s   d  S(   N(    (   R   R   R   (    (    sI   lib/python2.7/site-packages/astropy/nddata/mixins/tests/test_ndslicing.pyt   _propagate_divide(   s    (   R   R   t   propertyR   R   R   R   R   (    (    (    sI   lib/python2.7/site-packages/astropy/nddata/mixins/tests/test_ndslicing.pyR      s
   			c          C` sC   t  j d  }  t |   } | d d !} t |  d d !| j  d  S(   Ni
   i   i   (   t   npt   arangeR
   R   R   (   R   t   ndt   nd2(    (    sI   lib/python2.7/site-packages/astropy/nddata/mixins/tests/test_ndslicing.pyt   test_slicing_only_data,   s    c          C` s:   t  j d  }  t |   } t j t  
 | Wd  QXd  S(   Ni
   (   R   t   arrayR
   t   pytestt   raisest	   TypeError(   R   R   (    (    sI   lib/python2.7/site-packages/astropy/nddata/mixins/tests/test_ndslicing.pyt   test_slicing_data_scalar_fail3   s    c          C` sU   t  j d d g  }  t |   } t j t   | d  d   d  d   f Wd  QXd  S(   Ni
   i   (   R   R   R
   R   R   t
   IndexError(   R   R   (    (    sI   lib/python2.7/site-packages/astropy/nddata/mixins/tests/test_ndslicing.pyt   test_slicing_1ddata_ndslice;   s    u	   prop_nameu   masku   wcsu   uncertaintyc         C` sh   t  j d  } i t  j d  |  6} t | |  } t j t   | d  d   d  d   f Wd  QXd  S(   Ni   (   i   i   (   R   t   onesR
   R   R   R!   (   t	   prop_nameR   t   kwargR   (    (    sI   lib/python2.7/site-packages/astropy/nddata/mixins/tests/test_ndslicing.pyt   test_slicing_1dmask_ndsliceC   s
    c          C` s  t  j d  }  |  d k } t  j d d d  } t  j d d d  } t j } i d d 6} t |  d | d	 | d
 | d | d | } | d d !} t |  d d !| j  t | d d !| j  t | d d !| j	 j
  t | d d !| j  | | j k st  | | j k st  d  S(   Ni
   i   i   i   iθ  u   Brianu   observert   maskt   uncertaintyt   wcst   unitt   metai   i   (   R   R   t   linspacet   ut   sR
   R   R   R'   R(   R   R)   R*   t   AssertionErrorR+   (   R   R'   R(   R)   R*   R+   R   R   (    (    sI   lib/python2.7/site-packages/astropy/nddata/mixins/tests/test_ndslicing.pyt   test_slicing_all_npndarray_1dO   s    	c          C` sδ  t  j d  j d d d  }  |  d k } t  j d d d  j d d d  } t  j d d d  j d d d  } t |  d | d | d | } | d	 d
 !} t |  d	 d
 !| j  t | d	 d
 !| j  t | d	 d
 !| j j	  t | d	 d
 !| j
  | d	 d
  d  d   d d  f } t |  d	 d
  d  d   d d  f | j  t | d	 d
  d  d   d d  f | j  t | d	 d
  d  d   d d  f | j j	  t | d	 d
  d  d   d d  f | j
  d  S(   Niθ  i
   i   i   i   R'   R(   R)   i   i   i   i   (   R   R   t   reshapeR,   R
   R   R   R'   R(   R   R)   (   R   R'   R(   R)   R   R   (    (    sI   lib/python2.7/site-packages/astropy/nddata/mixins/tests/test_ndslicing.pyt   test_slicing_all_npndarray_ndc   s    $$%//2c          C` sΪ   t  j d  }  |  d k d d !} t  j d d d  } t  j d d d	  } t |  d
 | d | d | } | d d !} t |  d d !| j  t | d d !| j  t | d d !| j j  t | d d !| j	  d  S(   Ni
   i   i    i	   i   i   i   iθ  i   R'   R(   R)   i   i   (
   R   R   R,   R
   R   R   R'   R(   R   R)   (   R   R'   R(   R)   R   R   (    (    sI   lib/python2.7/site-packages/astropy/nddata/mixins/tests/test_ndslicing.pyt%   test_slicing_all_npndarray_shape_diffy   s    c          C` s·   t  j d  }  t g d } i d d 6d d 6} d t j } t |  d | d | d	 | } | d
 d !} t |  d
 d !| j  t | d
 d !| j  | | j	 k t | | j
  d  S(   Ni
   g333333@u   rdnoisegffffffφ?u   gaini   R'   R(   R)   i   i   (   R   R   t   FalseR-   t   degreeR
   R   R   R'   R(   R)   (   R   R'   R(   R)   R   R   (    (    sI   lib/python2.7/site-packages/astropy/nddata/mixins/tests/test_ndslicing.pyt    test_slicing_all_something_wrong   s    c          C` sέ   t  j d  }  |  j   } t |  j    } |  j   } t |  d | d | d | } | | j d k | j d k  @} t |  d d !| j  t | d d !| j  t | d d !| j  t | j	 d d !| j
 j	  d  S(   Ni
   R'   R(   R)   i   i   (   R   R   t   copyR   R
   R   R   R'   R)   R   R(   (   R   R'   R(   R)   R   R   (    (    sI   lib/python2.7/site-packages/astropy/nddata/mixins/tests/test_ndslicing.pyt   test_boolean_slicing   s     (   t
   __future__R    R   R   R   R   t   numpyR   t   numpy.testingR   t    R   R   t   nduncertaintyR   R   R	   R-   R
   R   R   R    R"   t   markt   parametrizeR&   R0   R2   R3   R6   R8   (    (    (    sI   lib/python2.7/site-packages/astropy/nddata/mixins/tests/test_ndslicing.pyt   <module>   s"   "			'				