ó
šßÈ[c           @   sØ  d  d l  Z  d  d l Z d  d l Z d  d l m Z d  d l Z d  d l Z d  d l m	 Z	 m
 Z
 d d l m Z d d l m Z d d l m Z m Z m Z d d l m Z d d	 l m Z d d
 l m Z d d l m Z d d l m Z m Z m Z y# e e  ƒ  d  d l! Z! Wd QXWn e" k
 r6e# Z$ n Xe% Z$ d e& f d „  ƒ  YZ' e j( j) d ƒ d e' f d „  ƒ  Yƒ Z* e j( j) d ƒ d d\ d „  ƒ  Yƒ Z+ e j( j) d ƒ d d] d „  ƒ  Yƒ Z, e j( j) d ƒ d d^ d „  ƒ  Yƒ Z- e j( j) d ƒ d d_ d „  ƒ  Yƒ Z. e j( j) d ƒ d e' f d „  ƒ  Yƒ Z/ e j( j) d ƒ d e' f d „  ƒ  Yƒ Z0 e j( j) d ƒ d e' f d  „  ƒ  Yƒ Z1 e j( j) d ƒ d! e' f d" „  ƒ  Yƒ Z2 e j( j) d ƒ d# e' f d$ „  ƒ  Yƒ Z3 e j( j) d ƒ d% e' f d& „  ƒ  Yƒ Z4 e j( j) d ƒ d' e' f d( „  ƒ  Yƒ Z5 e j( j) d ƒ d) e' f d* „  ƒ  Yƒ Z6 e j( j) d ƒ d+ e' f d, „  ƒ  Yƒ Z7 e j( j) d ƒ d- e' f d. „  ƒ  Yƒ Z8 e j( j) d ƒ d/ e' f d0 „  ƒ  Yƒ Z9 e j( j) d ƒ d1 d` d2 „  ƒ  Yƒ Z: e j( j) d ƒ d3 da d4 „  ƒ  Yƒ Z; e j( j) d ƒ d5 db d6 „  ƒ  Yƒ Z< e j( j) d ƒ d7 dc d8 „  ƒ  Yƒ Z= e% d9 „ Z> d: „  Z? d; „  Z@ d< „  ZA d= „  ZB d> „  ZC d? „  ZD e j( jE d@ „  ƒ ZF d dA lG mH ZH dB eH f dC „  ƒ  YZI dD „  ZJ dE „  ZK dF „  ZL dG „  ZM dH „  ZN dI „  ZO dJ „  ZP e j( jQ dK ƒ dL e& f dM „  ƒ  Yƒ ZR e j( j) d ƒ dN e' f dO „  ƒ  Yƒ ZS dP dd dQ „  ƒ  YZT dR „  ZU dS „  ZV dT „  ZW dU „  ZX dV „  ZY dW „  ZZ dX „  Z[ dY „  Z\ dZ „  Z] d[ „  Z^ d S(e   iÿÿÿÿN(   t   OrderedDict(   t   assert_allcloset   assert_array_equali   (   t   six(   t   fits(   t!   assert_follows_unicode_guidelinest   ignore_warningst   catch_warnings(   t   get_pkg_data_filename(   t   table(   t   unitsi   (   t   MaskedTable(   t   zipt   ranget	   cStringIOt	   SetupDatac           B   sk   e  Z d  „  Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z	 RS(   c         C   s   | j  |  _ | j |  _ d  S(   N(   t   Tablet   _table_typet   Columnt   _column_type(   t   selft   table_types(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   _setup&   s    c         C   so   |  j  d  k	 rk t |  d ƒ sd |  j  d d d g d d d d d	 i d
 d d d d g d 6ƒ|  _ n  |  j Sd  S(   Nt   _ai   i   i   t   namet   at   formats   %dt   metai    i   t   aa(   R   t   Nonet   hasattrR   (   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR   *   s    %c      
   C   s`   |  j  d  k	 r\ t |  d ƒ sU |  j  d d d g d d d d d	 i d
 d 6ƒ|  _ n  |  j Sd  S(   Nt   _bi   i   i   R   t   bR   s   %dR   i   R   (   R   R   R   R   (   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR    3   s
    1c         C   sJ   |  j  d  k	 rF t |  d ƒ s? |  j  d d d g d ƒ |  _ n  |  j Sd  S(   Nt   _ci   i   i	   t   c(   R   R   R   R!   (   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR"   ;   s    !c         C   sJ   |  j  d  k	 rF t |  d ƒ s? |  j  d d d g d ƒ |  _ n  |  j Sd  S(   Nt   _di   i   t   d(   R   R   R   R#   (   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR$   B   s    !c         C   sP   |  j  d  k	 rL t |  d ƒ sE |  j  d d d g d d d ƒ|  _ n  |  j Sd  S(   Nt   _obji   t   stringi   t   objt   dtypet   O(   R   R   R   R%   (   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR'   I   s    'c         C   sJ   |  j  d  k	 rF t |  d ƒ s? |  j  |  j |  j g ƒ |  _ n  |  j Sd  S(   Nt   _t(   R   R   R   R   R    R*   (   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   tP   s    !(
   t   __name__t
   __module__R   t   propertyR   R    R"   R$   R'   R+   (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR   %   s   		R   t   TestSetTableColumnc           B   sb   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z RS(
   c         C   sÒ   |  j  | ƒ | j |  j |  j g ƒ } d | d <| d d d k sL t ‚ | d d d k sf t ‚ | d d d k s€ t ‚ | d d d	 k sš t ‚ | d d d k s´ t ‚ | d d d
 k sÎ t ‚ d S(   s    Set a row from a tuple of valuesi   i   i   R   i    i   i   R    i   i   N(   i   i   (   R   R   R   R    t   AssertionError(   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_set_row[   s    
c         C   sn   |  j  | ƒ | j |  j |  j g ƒ } | d | d <| d d d k sP t ‚ | d d d k sj t ‚ d S(   s#   Set a row from another existing rowi   i    i   i   N(   R   R   R   R    R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_set_row_existingg   s
    c         C   sl   |  j  | ƒ | j |  j |  j g ƒ } t j t ƒ  d | d <Wd QXt j t ƒ  d | d <Wd QXd S(   s:   Set a row from an incorrectly-sized or typed set of valuesi   i   i   i   Ni    (   i   i   i   (   R   R   R   R    t   pytestt   raisest
   ValueErrort	   TypeError(   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_set_row_fail_1o   s    c         C   sL   |  j  | ƒ | j |  j |  j g ƒ } t j t ƒ  d | d <Wd QXd S(   s3   Set a row from an incorrectly-typed tuple of valuest   abct   defi   N(   R8   R9   (   R   R   R   R    R3   R4   R5   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_set_row_fail_2x   s    c         C   sd   |  j  | ƒ | j ƒ  } |  j | d <t j | d |  j k ƒ sH t ‚ | j d g k s` t ‚ d S(   s?   Create a new column in empty table using the item access syntaxR   N(   R   R   R   t   npt   allR0   t   colnames(   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_set_new_col_new_table   s
    "c         C   sÙ   |  j  | ƒ | j ƒ  } t j d d d g ƒ t j | d <t j | d t j d d d g ƒ k ƒ sm t ‚ | d j t j k s‰ t ‚ d t j | d <t j | d d k ƒ s¹ t ‚ | d j t j k sÕ t ‚ d S(   sQ   Create a new column (from a quantity) in empty table using the item access syntaxi   i   i   R   t   bbN(	   R   R   R;   t   arrayt   ut   mR<   R0   t   unit(   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt#   test_set_new_col_new_table_quantityˆ   s    #1c         C   s  |  j  | ƒ | j |  j g ƒ } |  j | d <t j | d |  j k ƒ sQ t ‚ | j d d g k sl t ‚ | d j |  j j k s‹ t ‚ | d j	 |  j j	 k sª t ‚ | d | d <t j | d | d k ƒ sÛ t ‚ | j d d d g k sù t ‚ | d j | d j k st ‚ | d j	 | d j	 k s9t ‚ | j
 t j d ƒ j d d d ƒ ƒ | d <| d j d k s}t ‚ | d d d	 k s—t ‚ d
 d d g | d <t j | d t j d
 d d g ƒ k ƒ sÛt ‚ d d
 d g | d <t j | d t j d d
 d g ƒ k ƒ st ‚ d | d <t j | d d k ƒ sHt ‚ t j d	 d d g ƒ t j | d <t j | d j t j d	 d d g ƒ k ƒ sŸt ‚ | d j t j k s»t ‚ d t j | d <t j | d j d k ƒ sît ‚ | d j t j k s
t ‚ d S(   sE   Create a new column in an existing table using the item access syntaxR?   R   R"   i   i   i   R$   i    i   t   hellot   thet   worldt   ei
   t   ft   gN(   i   i   i   (   i    i    i   (   R   R   R   R    R;   R<   R0   R=   R   R   R   t   aranget   reshapet   shapeR@   RA   RB   t   dataRC   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_set_new_col_existing_table•   s6    "#  +11
#4"c         C   sp   |  j  | ƒ | j |  j g ƒ } t j d d d d d d g ƒ } | | d <t j | d | k ƒ sl t ‚ d S(   sE   Create a new column in an existing table using the item access syntaxR   R    RN   i   i   i   N(   R   R   R   R	   R   R;   R<   R0   (   R   R   R+   R    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt(   test_set_new_unmasked_col_existing_tableÃ   s
    !
c         C   sp   |  j  | ƒ | j |  j g ƒ } t j d d d d d d g ƒ } | | d <t j | d | k ƒ sl t ‚ d S(   sE   Create a new column in an existing table using the item access syntaxR   R    RN   i   i   i   N(   R   R   R   R	   t   MaskedColumnR;   R<   R0   (   R   R   R+   R    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt&   test_set_new_masked_col_existing_tableË   s
    !
c         C   sL   |  j  | ƒ | j |  j g ƒ } t j t ƒ  d d g | d <Wd QXd S(   sH   Generate failure when creating a new column using the item access syntaxi   i   R    N(   R   R   R   R3   R4   R5   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt$   test_set_new_col_existing_table_failÓ   s    (   R,   R-   R1   R2   R7   R:   R>   RD   RO   RP   RR   RS   (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR/   X   s   									.		t   TestEmptyDatac           B   s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sQ   | j  ƒ  } | j | j d d d t d d ƒ ƒ t | d ƒ d k sM t ‚ d  S(   NR   R   R(   t   lengthid   (   R   t
   add_columnR   t   intt   lenR0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_1ß   s    %c      
   C   sW   | j  ƒ  } | j | j d d d t d d d d ƒ ƒ t | d ƒ d k sS t ‚ d  S(	   NR   R   R(   RM   i   RU   id   (   i   (   R   RV   R   RW   RX   R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_2ä   s    +c         C   sK   | j  ƒ  } | j | j d d d t ƒ ƒ t | d ƒ d k sG t ‚ d  S(   NR   R   R(   i    (   R   RV   R   RW   RX   R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_3é   s    c      	   C   sQ   | j  ƒ  } | j | j d d d t d d ƒ ƒ t | d ƒ d k sM t ‚ d  S(	   NR   R   R(   RM   i   i   i    (   i   i   (   R   RV   R   RW   RX   R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_4î   s    %c         C   sE   | j  ƒ  } | j | j d d ƒ ƒ t | d ƒ d k sA t ‚ d  S(   NR   R   i    (   R   RV   R   RX   R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_5ó   s    c         C   sK   | j  ƒ  } | j d d d g ƒ | d <| } | j | j k sG t ‚ d S(   s®   Test related to #3023 where a MaskedColumn is created with name=None
        and then gets changed to name='a'.  After PR #2790 this test fails
        without the #3023 fix.i   i   i   R   N(   R   R   R=   R0   (   R   R   R+   t   t2(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_via_setitem_and_sliceø   s    (   R,   R-   RY   RZ   R[   R\   R]   R_   (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRT   Ü   s   					t   TestNewFromColumnsc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   sò   | j  d d d d d d g ƒ | j  d d d d d	 d
 g d t j ƒ g } | j | ƒ } t j | d j t j d d d g ƒ k ƒ sŽ t ‚ t j | d j t j d d	 d
 g d t j ƒk ƒ sË t ‚ t | d d ƒ t j k sî t ‚ d  S(   NR   R   RN   i   i   i   R    i   i   i   R(   (	   R   R;   t   float32R   R<   RN   R@   R0   t   type(   R   R   t   colsR+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_simple  s    -4=c      	   C   s<  | j  d d d t j d d d g d t j ƒd t j ƒ | j  d d d t j d	 d
 d g d t j ƒƒ g } | j | ƒ } t j | d t j d d d g d t j ƒk ƒ s¸ t ‚ t j | d t j d	 d
 d g d t j ƒk ƒ sò t ‚ t	 | d d ƒ t j k st ‚ t	 | d d ƒ t j k s8t ‚ d  S(   NR   R   RN   i   i   i   R(   R    i   i   i   (
   R   R;   R@   t   int64t   float64Ra   R   R<   R0   Rb   (   R   R   Rc   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_from_np_array  s    0	6::#c      	   C   sl   | j  d d d d d d g ƒ | j  d d d d d	 d
 d g ƒ g } t j t ƒ  | j | ƒ Wd  QXd  S(   NR   R   RN   i   i   i   R    i   i   i   i   (   R   R3   R4   R5   R   (   R   R   Rc   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_size_mismatch  s    'c         C   s    | j  d d d g d d ƒ } | j  d d d g ƒ } | j | | g d d ƒ} | j d d	 g k sl t ‚ | j | | g ƒ } | j d d
 g k sœ t ‚ d S(   sH   Column with name=None can init a table whether or not names are suppliedRN   i   i   R   R"   i   i   t   namesR$   t   col1N(   NR$   (   R   R   R   R=   R0   (   R   R   R"   R$   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_name_none  s    (   R,   R-   Rd   Rg   Rh   Rk   (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR`     s   		
	t   TestReversec           B   s   e  Z d  „  Z d „  Z RS(   c         C   sô  | j  d d d g d d d g g ƒ } | j ƒ  t j | d t j d d d g ƒ k ƒ sb t ‚ t j | d t j d d d g ƒ k ƒ s“ t ‚ | j  | d	 t ƒ} t j | d t j d d d g ƒ k ƒ sÙ t ‚ t j | d t j d d d g ƒ k ƒ s
t ‚ | j  | d	 t ƒ} t j | d t j d d d g ƒ k ƒ sPt ‚ t j | d t j d d d g ƒ k ƒ st ‚ | j d ƒ t j | d t j d d d g ƒ k ƒ s¿t ‚ t j | d t j d d d g ƒ k ƒ sðt ‚ d  S(
   Ni   i   i   R   R    t   cct   col0Rj   t   copy(	   R   t   reverseR;   R<   R@   R0   t   Falset   Truet   sort(   R   R   R+   R^   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_reverse*  s    
1111111c         C   sš   t  j d ƒ } | d } | j | | g d d ƒ} | j ƒ  t  j | d | d  d  d … k ƒ sj t ‚ t  j | d | d  d  d … k ƒ s– t ‚ d  S(   Ni'  i   Ri   t   xt   yiÿÿÿÿ(   Ru   Rv   (   R;   RK   R   Rp   R<   R0   (   R   R   Ru   Rv   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_reverse_big=  s    

,(   R,   R-   Rt   Rw   (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRl   '  s   	t   TestColumnAccessc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s.   | j  ƒ  } t j t ƒ  | d Wd  QXd  S(   NR   (   R   R3   R4   t   KeyError(   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRY   I  s    c         C   s‡   | j  ƒ  } | j | j d d d d d d g ƒ ƒ t j | d t j d d d g ƒ k ƒ se t ‚ t j t	 ƒ  | d Wd  QXd  S(   NR   R   RN   i   i   i   R    (
   R   RV   R   R;   R<   R@   R0   R3   R4   Ry   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRZ   N  s
    (1c         C   s   d d d g } | j  d g d g d g g d | ƒ} xP t | | j ƒ  ƒ D]9 \ } } | | j k sm t ‚ t | | j ƒ sL t ‚ qL Wd  S(   NR   R    R"   i   i   i   Ri   (   R   R   t   itercolsR   R0   t
   isinstanceR   (   R   R   Ri   R+   R   t   col(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_itercolsU  s
    '"(   R,   R-   RY   RZ   R}   (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRx   F  s   		t   TestAddLengthc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s6   |  j  | ƒ | j |  j g ƒ } | j |  j ƒ d  S(   N(   R   R   R   RV   R    (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_right_length`  s    c         C   sg   |  j  | ƒ | j |  j g ƒ } t j t ƒ 0 | j | j d d d d d d d g ƒ ƒ Wd  QXd  S(   NR   R    RN   i   i   i   i   (   R   R   R   R3   R4   R5   RV   R   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_too_longe  s    c         C   sa   |  j  | ƒ | j |  j g ƒ } t j t ƒ * | j | j d d d d d g ƒ ƒ Wd  QXd  S(   NR   R    RN   i   i   (   R   R   R   R3   R4   R5   RV   R   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_too_shortk  s    (   R,   R-   R   R€   R   (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR~   ]  s   		t   TestAddPositionc           B   sY   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   c         C   s0   |  j  | ƒ | j ƒ  } | j |  j d ƒ d  S(   Ni    (   R   R   RV   R   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRY   u  s    c         C   s0   |  j  | ƒ | j ƒ  } | j |  j d ƒ d  S(   Ni   (   R   R   RV   R   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRZ   z  s    c         C   s0   |  j  | ƒ | j ƒ  } | j |  j d ƒ d  S(   Niÿÿÿÿ(   R   R   RV   R   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR[     s    c         C   s@   |  j  | ƒ | j ƒ  } t j t ƒ  | j d ƒ Wd  QXd  S(   NR    (   R   R   R3   R4   R5   t   index_column(   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR]   „  s    c         C   s^   |  j  | ƒ | j ƒ  } | j |  j ƒ | j |  j ƒ | j j ƒ  d d g k sZ t ‚ d  S(   NR   R    (   R   R   RV   R   R    t   columnst   keysR0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_6Š  s
    c         C   sc   |  j  | ƒ | j |  j g ƒ } | j |  j | j d ƒ ƒ | j j ƒ  d d g k s_ t ‚ d  S(   NR   R    (	   R   R   R   RV   R    Rƒ   R„   R…   R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_7‘  s    c         C   sg   |  j  | ƒ | j |  j g ƒ } | j |  j | j d ƒ d ƒ | j j ƒ  d d g k sc t ‚ d  S(   NR   i   R    (	   R   R   R   RV   R    Rƒ   R„   R…   R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_8—  s     c         C   s   |  j  | ƒ | j ƒ  } | j |  j ƒ | j |  j | j d ƒ d ƒ | j |  j | j d ƒ ƒ | j j ƒ  d d d g k s‰ t	 ‚ d  S(   NR   i   R    R"   (
   R   R   RV   R   R    Rƒ   R"   R„   R…   R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_9  s     c         C   sŠ   |  j  | ƒ | j ƒ  } | j |  j ƒ | j d ƒ } | j |  j | d ƒ | j |  j | ƒ | j j ƒ  d d d g k s† t	 ‚ d  S(   NR   i   R"   R    (
   R   R   RV   R   Rƒ   R    R"   R„   R…   R0   (   R   R   R+   t   ia(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_10¥  s    (   R,   R-   RY   RZ   R[   R]   R†   R‡   Rˆ   R‰   R‹   (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR‚   r  s   								t   TestAddNamec           B   s   e  Z d  „  Z d „  Z RS(   c         C   sQ  |  j  | ƒ | j ƒ  } | j |  j d d ƒ| j |  j d d ƒ| j j ƒ  d d g k sf t ‚ |  j j j	 d k s t ‚ |  j j j	 d k sœ t ‚ | j ƒ  } | j | d d d ƒ| j j ƒ  d g k sÝ t ‚ | j j ƒ  d d g k sþ t ‚ | j
 d d d g ƒ } | j | d d ƒ| j j ƒ  d d d g k sMt ‚ d  S(   NR   R    R   R"   i   i   i   (   R   R   RV   R   R    R„   R…   R0   t   infoR   R   (   R   R   R+   R^   R|   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_override_name²  s    !!c         C   sS   | j  ƒ  } | j d d d g ƒ } | j | ƒ | j j ƒ  d g k sO t ‚ d  S(   Ni   i   i   Rn   (   R   R   RV   R„   R…   R0   (   R   R   R+   R|   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_default_nameÊ  s    (   R,   R-   RŽ   R   (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRŒ   ¯  s   	t   TestInitFromTablec           B   s   e  Z d  „  Z RS(   c         C   sO  |  j  | ƒ |  j } | j } | j | d | d |  j g ƒ } | j ƒ  } | j | d ƒ | j | d ƒ | j |  j ƒ d | d d <d | d d <x¬| | g D]ž} d | d d <d | d d <d	 | d
 d <d | j d j d d <t j | d t j	 d d d g ƒ k ƒ s"t
 ‚ t j | d t j	 d d d g ƒ k ƒ sSt
 ‚ t j | d t j	 d d d g ƒ k ƒ s„t
 ‚ t j | d t j	 d d d g ƒ k ƒ sµt
 ‚ t j | d
 t j	 d d d	 g ƒ k ƒ sæt
 ‚ | d j d k sÿt
 ‚ | j d j d d d k s#t
 ‚ | j d j d d d k s© t
 ‚ q© Wd S(   sR   Ensure that using cols from an existing table gives
        a clean copy.
        R   R    i   i   i   i
   i   i   i   R"   R   i   i   i   i   i   i   N(   R   R+   R„   R   R"   RV   R   R;   R<   R@   R0   R   (   R   R   R+   Rc   t   t2at   t2bR^   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_from_table_colsÔ  s.    		#11111$(   R,   R-   R“   (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR   Ñ  s   t   TestAddColumnsc           B   sY   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   c         C   sZ   |  j  | ƒ | j ƒ  } | j |  j |  j |  j g ƒ | j d d d g k sV t ‚ d  S(   NR   R    R"   (   R   R   t   add_columnsR   R    R"   R=   R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_columns1ø  s    c         C   s—   |  j  | ƒ | j |  j |  j g ƒ } | j |  j |  j g ƒ | j d d d d g k sb t ‚ t	 j
 | d t	 j d d d g ƒ k ƒ s“ t ‚ d  S(   NR   R    R"   R$   i   i   i	   (   R   R   R   R    R•   R"   R$   R=   R0   R;   R<   R@   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_columns2þ  s
    !c         C   sr   |  j  | ƒ | j |  j |  j g ƒ } | j |  j |  j g d d d g ƒ| j d d d d g k sn t ‚ d  S(   Nt   indexesi   i    R$   R   R"   R    (	   R   R   R   R    R•   R"   R$   R=   R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_columns3  s    %c         C   sr   |  j  | ƒ | j |  j |  j g ƒ } | j |  j |  j g d d d g ƒ| j d d d d g k sn t ‚ d  S(   NR˜   i    R"   R$   R   R    (	   R   R   R   R    R•   R"   R$   R=   R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_columns4  s    %c         C   sr   |  j  | ƒ | j |  j |  j g ƒ } | j |  j |  j g d d d g ƒ| j d d d d g k sn t ‚ d  S(   NR˜   i   R   R    R"   R$   (	   R   R   R   R    R•   R"   R$   R=   R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_columns5  s    %c         C   si   |  j  | ƒ | j ƒ  } | j |  j |  j |  j g d d d d g ƒ| j d d d g k se t ‚ d S(   s(   Check that we can override column names.Ri   R    R"   R   N(   R   R   R•   R   R    R"   R=   R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_columns6  s    .c         C   sn   | j  ƒ  } | j d d d g ƒ } | j d d d g ƒ } | j | | g ƒ | j d d g k sj t ‚ d S(	   s3   Check that default names are used when appropriate.i   i   i   i   i   Rn   Rj   N(   R   R   R•   R=   R0   (   R   R   R+   Rn   Rj   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_columns7  s
    c         C   sL  |  j  | ƒ | j ƒ  } | j |  j ƒ t j t ƒ - | j | j d d d d d d g ƒ ƒ Wd  QX| j | j d d d d d d g ƒ d t ƒ| j |  j	 ƒ | j |  j
 ƒ | j d d d	 d
 g k sÖ t ‚ | j | j d d d d d d g ƒ d t ƒ| j d d d	 d
 d g k s(t ‚ | j ƒ  } | j |  j ƒ t j t ƒ  | j | d ƒ Wd  QX| j | d d t ƒd | d d <| j d d d	 d
 d d g k s·t ‚ | j d g k sÏt ‚ | d d |  j d k sðt ‚ | j | j d d d d d d g ƒ d t ƒ| j d d d	 d
 d d d g k sHt ‚ d  S(   NR   R   RN   i    i   i   t   rename_duplicatet   a_1R    R"   t   a_2id   t   a_3t   q(   R   R   RV   R   R3   R4   R5   R   Rr   R    R"   R=   R0   (   R   R   R+   t   t1(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_duplicate_column&  s2    .'!'$'!'c         C   s  |  j  | ƒ | j |  j |  j |  j g ƒ } t j t ƒ N | j | j	 d d d d d d g ƒ | j	 d d d d d d g ƒ g ƒ Wd  QX| j | j	 d d d d d d g ƒ | j	 d d d d d d g ƒ g d t
 ƒ| j |  j ƒ | j d d d	 d
 d d g k st ‚ d  S(   NR   R   RN   i    i   i   R    Rž   R"   RŸ   t   b_1R$   (   R   R   R   R    R"   R3   R4   R5   R•   R   Rr   RV   R$   R=   R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_duplicate_columnsH  s    !O$$(   R,   R-   R–   R—   R™   Rš   R›   Rœ   R   R¤   R¦   (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR”   õ  s   								"t
   TestAddRowc           B   sÂ   e  Z e d  „  ƒ Z e d „  ƒ Z e d „  ƒ Z e 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 d „  Z RS(   c         C   sP   |  j  d  k	 rL t |  d ƒ sE |  j  d d d d d d g ƒ |  _ n  |  j Sd  S(   NR   R   R    RN   g      @gffffff@gÍÌÌÌÌÌ@(   R   R   R   R   (   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR    W  s    'c         C   sP   |  j  d  k	 rL t |  d ƒ sE |  j  d d d d d d g ƒ |  _ n  |  j Sd  S(   NR!   R   R"   RN   t   7t   8t   9(   R   R   R   R!   (   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR"   ^  s    'c         C   sb   |  j  d  k	 r^ t |  d ƒ sW |  j  d d d d d g d d g d	 d
 g g ƒ |  _ n  |  j Sd  S(   NR#   R   R$   RN   i   i   i   i   i   i   (   R   R   R   R#   (   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR$   e  s    9c         C   sP   |  j  d  k	 rL t |  d ƒ sE |  j  |  j |  j |  j g ƒ |  _ n  |  j Sd  S(   NR*   (   R   R   R   R   R    R"   R*   (   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR+   l  s    'c         C   s÷   |  j  | ƒ | j d d d d ƒ } | j ƒ  t j | d d	 d	 d	 g k ƒ sX t ‚ | d d	 d
 k sr t ‚ | d d	 d	 k sŒ t ‚ | j ƒ  t j | d d d	 d	 g k ƒ s¿ t ‚ | d d d
 k sÙ t ‚ | d d d	 k só t ‚ d  S(   NRi   R   R    R"   R(   s   (2,)it   S4R)   i    t    i   (   R   R    R"   (   s   (2,)iR«   R)   (   R   R   t   add_rowR;   R<   R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_none_to_empty_tables  s    
)
)c         C   s	  |  j  | ƒ | j d d d d ƒ } | j d	 d
 g d d g ƒ t j | d d d	 d
 g k ƒ sj t ‚ | d d d k s„ t ‚ | d d d k sž t ‚ | j ƒ  t j | d d	 d d g k ƒ sÑ t ‚ | d d	 d k së t ‚ | d d	 d k st ‚ d  S(   NRi   R   R    R'   R(   s   (2,)it   S8R)   i   i   RE   RG   i    R¬   (   R   R    R'   (   s   (2,)iR¯   R)   (   R   R   R­   R;   R<   R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_stuff_to_empty_table  s    )
)c         C   s\  |  j  | ƒ |  j } |  j | d <| j |  j |  j |  j |  j g ƒ } | j | d ƒ t | ƒ d k ss t	 ‚ t
 j | d t
 j d d d d g ƒ k ƒ s§ t	 ‚ t
 j | d t
 j d	 d
 d d	 g ƒ ƒ sØ t	 ‚ t
 j | d t
 j d d d d g ƒ k ƒ st	 ‚ t
 j | d t
 j d d g d d g d d g d d g g ƒ k ƒ sXt	 ‚ d  S(   NR$   i    i   R   i   i   i   R    g      @gffffff@gÍÌÌÌÌÌ@R"   R¨   R©   Rª   i   i   (   R   R+   R$   R   R   R    R"   R­   RX   R0   R;   R<   R@   t   allclose(   R   R   R+   R^   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_table_row  s    	'414c         C   s  |  j  | ƒ | j |  j |  j |  j g ƒ } | j d d d g g ƒ t | ƒ d k s_ t ‚ t j	 | d t j
 d d d d g ƒ k ƒ s“ t ‚ t j | d t j
 d d	 d
 d g ƒ ƒ sÄ t ‚ t j	 | d t j
 d d d d g g d d ƒk ƒ st ‚ d  S(   Ni   g      @i
   i   R   i   i   R    gffffff@gÍÌÌÌÌÌ@R'   R&   R(   R)   (   R   R   R   R    R'   R­   RX   R0   R;   R<   R@   R±   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_table_row_obj™  s    !41c         C   s“   d d g d d g g t  j } t j | g ƒ } | j d d g t  j f ƒ t j | d d d g d d g d d	 g g t  j k ƒ s t ‚ d  S(
   Ni   i   i   i   i   i   Rn   iˆ  ip  (	   RA   RB   R	   t   QTableR­   t   kmR;   R<   R0   (   R   R¢   t   qt(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt$   test_add_qtable_row_multidimensional¢  s    c         C   sØ   |  j  | ƒ |  j } | j d ƒ t | ƒ d k s; t ‚ t j | d t j d d d d g ƒ k ƒ so t ‚ t j | d t j d	 d
 d d g ƒ ƒ s  t ‚ t j | d t j d d d d g ƒ k ƒ sÔ t ‚ d  S(   Ni   gÍÌÌÌÌÌ@t   1R   i   i   i   R    g      @gffffff@gÍÌÌÌÌÌ@R"   R¨   R©   Rª   (   i   gÍÌÌÌÌÌ@R¸   (	   R   R+   R­   RX   R0   R;   R<   R@   R±   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_with_tuple¨  s    	41c         C   sá   |  j  | ƒ |  j } | j d d d g ƒ t | ƒ d k sD t ‚ t j | d t j d d d d g ƒ k ƒ sx t ‚ t j | d t j d	 d
 d d g ƒ ƒ s© t ‚ t j | d t j d d d d g ƒ k ƒ sÝ t ‚ d  S(   Ni   gÍÌÌÌÌÌ@t   10R   i   i   i   R    g      @gffffff@gÍÌÌÌÌÌ@R"   R¨   R©   Rª   R¸   (	   R   R+   R­   RX   R0   R;   R<   R@   R±   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_with_list±  s    	41c         C   s&  |  j  | ƒ |  j } | j i d d 6d d 6ƒ t | ƒ d k sI t ‚ t j | d t j d d d d g ƒ k ƒ s} t ‚ t j | d t j d d	 d
 d g ƒ ƒ s® t ‚ | j	 rî t j | d t j d d d d g ƒ k ƒ s"t ‚ n4 t j | d t j d d d d g ƒ k ƒ s"t ‚ d  S(   Ni   R   gÍÌÌÌÌÌ@R    i   i   i   g      @gffffff@gÍÌÌÌÌÌ@R"   R¨   R©   Rª   R¬   (
   R   R+   R­   RX   R0   R;   R<   R@   R±   t   masked(   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_with_dictº  s    	41	7c         C   sÛ   |  j  | ƒ |  j } | j ƒ  t | ƒ d k s8 t ‚ t j | d j t j d d d d g ƒ k ƒ so t ‚ t j	 | d t j d d	 d
 d g ƒ ƒ s  t ‚ t j | d j t j d d d d g ƒ k ƒ s× t ‚ d  S(   Ni   R   i   i   i   i    R    g      @gffffff@gÍÌÌÌÌÌ@g        R"   R¨   R©   Rª   R¬   (
   R   R+   R­   RX   R0   R;   R<   RN   R@   R±   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_with_noneÆ  s    	
71c         C   sD   |  j  | ƒ |  j } t j t ƒ  | j i d d 6ƒ Wd  QXd  S(   Ni   t
   bad_column(   R   R+   R3   R4   R5   R­   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_missing_columnÏ  s    	c         C   s=   |  j  | ƒ |  j } t j t ƒ  | j d ƒ Wd  QXd  S(   Ni   i   (   i   i   (   R   R+   R3   R4   R5   R­   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_wrong_size_tupleÕ  s    	c         C   s=   |  j  | ƒ |  j } t j t ƒ  | j d ƒ Wd  QXd  S(   Ni   (   R   R+   R3   R4   R6   R­   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_wrong_vals_typeÛ  s    	c         C   s  |  j  | ƒ |  j } | j | d t ƒ} y | j d d d d g ƒ Wn t k
 r[ n Xt | ƒ d k st t ‚ t j	 | j
 ƒ  | j
 ƒ  k ƒ s› t ‚ y | j d d d g ƒ Wn t k
 rÈ n Xt | ƒ d k sá t ‚ t j	 | j
 ƒ  | j
 ƒ  k ƒ st ‚ d  S(   NRo   i   i   i   i   t   one(   R   R+   R   Rr   R­   R5   RX   R0   R;   R<   t   as_array(   R   R   R+   t   t_copy(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_add_row_failuresá  s    	'c         C   s‡  |  j  | ƒ d d d d d g f } xý t d d ƒ D]ì } t j t j d ƒ | d ƒ } | j |  j |  j |  j |  j	 g ƒ } | j
 ƒ  } | j | ƒ | j | | ƒ xu | j D]j } | | j j d k rö t j | | | | | ƒ st ‚ q³ t j | | | | | k ƒ s³ t ‚ q³ Wq5 Wx[ d D]S } | j |  j |  j |  j |  j	 g ƒ } t j t ƒ  | j | | ƒ Wd
 QXq,Wd
 S(   sô   
        Light testing of Table.insert_row() method.  The deep testing is done via
        the add_row() tests which calls insert_row(index=len(self), ...), so
        here just test that the added index parameter is handled correctly.
        i
   g      D@Ru   i   iýÿÿÿi   i   RI   iüÿÿÿN(   iüÿÿÿi   (   R   R   R;   t   insertRK   R   R   R    R"   R$   Ro   R­   t
   insert_rowR=   R(   t   kindR±   R0   R<   R3   R4   t
   IndexError(   R   R   t   rowt   indext   indicesR+   R^   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_insert_table_rowô  s     ''/'(   R,   R-   R.   R    R"   R$   R+   R®   R°   R²   R³   R·   R¹   R»   R½   R¾   RÀ   RÁ   RÂ   RÆ   RÎ   (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR§   T  s$   																	t   TestTableColumnc           B   s   e  Z d  „  Z RS(   c         C   sK   |  j  | ƒ |  j } | j d } d | d <| d d d k sG t ‚ d  S(   NR   i
   i   (   R   R+   R„   R0   (   R   R   R+   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_column_view  s
    	
(   R,   R-   RÐ   (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRÏ     s   t   TestArrayColumnsc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c      	   C   s   |  j  | ƒ | j d d d t d d	 d d ƒ } | j |  j g ƒ } | j | ƒ | d j d
 k sl t ‚ | d d j d k s‰ t ‚ d  S(   NR   R    R(   RM   i   RU   i   i    (   i   (   i   i   (   i   (   R   R   RW   R   R   RV   RM   R0   (   R   R   R    R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_1d  s    $c      	   C   s   |  j  | ƒ | j d d d t d d
 d d ƒ } | j |  j g ƒ } | j | ƒ | d j d k sl t ‚ | d d	 j d k s‰ t ‚ d  S(   NR   R    R(   RM   i   i   RU   i   i    (   i   i   (   i   i   i   (   i   i   (   R   R   RW   R   R   RV   RM   R0   (   R   R   R    R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_2d$  s    $c      	   C   s   |  j  | ƒ | j |  j g ƒ } | j d d d t d d d d	 ƒ } | j | ƒ | d j d k sl t ‚ | d d
 j d k s‰ t ‚ d  S(   NR   R    R(   RM   i   i   i   RU   i   i    (   i   i   i   (   i   i   i   i   (   i   i   i   (   R   R   R   R   RW   RV   RM   R0   (   R   R   R+   R    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_3d,  s    $(   R,   R-   RÒ   RÓ   RÔ   (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRÑ     s   		t
   TestRemovec           B   s¤   e  Z e d  „  ƒ Z e 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 d „  Z RS(   c         C   sD   |  j  d  k	 r@ t |  d ƒ s9 |  j  |  j g ƒ |  _ n  |  j Sd  S(   NR*   (   R   R   R   R   R*   (   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR+   8  s    c         C   sP   |  j  d  k	 rL t |  d ƒ sE |  j  |  j |  j |  j g ƒ |  _ n  |  j Sd  S(   Nt   _t2(   R   R   R   R   R    R"   RÖ   (   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR^   ?  s    'c         C   sZ   |  j  | ƒ |  j j d ƒ |  j j j ƒ  g  k s; t ‚ |  j j ƒ  d  k sV t ‚ d  S(   NR   (   R   R+   t   remove_columnsR„   R…   R0   RÄ   R   (   R   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRY   F  s    c         C   s¤   |  j  | ƒ |  j j |  j ƒ |  j j d ƒ |  j j j ƒ  d g k sQ t ‚ |  j j j	 d k sl t ‚ t
 j |  j d t
 j d d d g ƒ k ƒ s  t ‚ d  S(   NR   R    i   i   i   (   R    (   R   R+   RV   R    R×   R„   R…   R0   R(   Ri   R;   R<   R@   (   R   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRZ   L  s    !c         C   sq   |  j  | ƒ |  j d |  j d <d |  j j j ƒ  k s? t ‚ |  j j d ƒ d |  j j j ƒ  k sm t ‚ d S(   s}   Check remove_columns works for a single column with a name of
        more than one character.  Regression test against #2699R   t
   new_columnN(   R   R+   R„   R…   R0   R×   (   R   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR[   T  s
    c         C   s7   |  j  | ƒ t j t ƒ  |  j j d ƒ Wd  QXd  S(   Ni   (   R   R3   R4   RÊ   R+   t
   remove_row(   R   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_remove_nonexistent_row]  s    c         C   s™   |  j  | ƒ |  j j |  j ƒ |  j j |  j ƒ |  j j d ƒ |  j j d d d g k sd t ‚ t j	 |  j d t j
 d d g ƒ k ƒ s• t ‚ d  S(   Ni    R   R    R"   i   i   (   R   R+   RV   R    R"   RÙ   R=   R0   R;   R<   R@   (   R   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_remove_row_0b  s    !c         C   s™   |  j  | ƒ |  j j |  j ƒ |  j j |  j ƒ |  j j d ƒ |  j j d d d g k sd t ‚ t j	 |  j d t j
 d d g ƒ k ƒ s• t ‚ d  S(   Ni   R   R    R"   i   (   R   R+   RV   R    R"   RÙ   R=   R0   R;   R<   R@   (   R   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_remove_row_1j  s    !c         C   s™   |  j  | ƒ |  j j |  j ƒ |  j j |  j ƒ |  j j d ƒ |  j j d d d g k sd t ‚ t j	 |  j d t j
 d d g ƒ k ƒ s• t ‚ d  S(   Ni   R   R    R"   i   i   (   R   R+   RV   R    R"   RÙ   R=   R0   R;   R<   R@   (   R   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_remove_row_2r  s    !c         C   s¢   |  j  | ƒ |  j j |  j ƒ |  j j |  j ƒ |  j j t d d d ƒ ƒ |  j j d d d g k sp t ‚ t	 j
 |  j d t	 j d g ƒ k ƒ sž t ‚ d  S(   Ni    i   i   R   R    R"   i	   (   R   R+   RV   R    R"   t   remove_rowst   sliceR=   R0   R;   R<   R@   (   R   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_remove_row_slicez  s    !c         C   sœ   |  j  | ƒ |  j j |  j ƒ |  j j |  j ƒ |  j j d d g ƒ |  j j d d d g k sj t ‚ t j	 |  j d t j
 d g ƒ k ƒ s˜ t ‚ d  S(   Ni    i   R   R    R"   i   (   R   R+   RV   R    R"   RÞ   R=   R0   R;   R<   R@   (   R   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_remove_row_list‚  s    !c         C   s«   |  j  | ƒ |  j j |  j ƒ |  j j d d g ƒ |  j d j i d d d d d g d 6k sh t ‚ |  j j t j t	 d ƒ d f t	 d	 ƒ d f g ƒ k s§ t ‚ d  S(
   Ni    i   R   i   i   i   R   RW   R    (
   R   R+   RV   R    RÞ   R   R0   R(   R;   t   str(   R   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_remove_row_preserves_metaŠ  s    2c         C   sT   |  j  | ƒ |  j d =|  j j j ƒ  g  k s5 t ‚ |  j j ƒ  d  k sP t ‚ d  S(   NR   (   R   R+   R„   R…   R0   RÄ   R   (   R   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_delitem1’  s    
c         C   s9   |  j  | ƒ |  j d =|  j j d d g k s5 t ‚ d  S(   NR    R   R"   (   R   R^   R=   R0   (   R   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_delitem2˜  s    
c         C   s6   |  j  | ƒ |  j d =|  j j d g k s2 t ‚ d  S(   NR   R    R"   (   R   R    (   R   R^   R=   R0   (   R   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_delitems  s    
c         C   s1   |  j  | ƒ t j t ƒ  |  j d =Wd  QXd  S(   NR$   (   R   R3   R4   Ry   R+   (   R   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_delitem_fail¢  s    (   R,   R-   R.   R+   R^   RY   RZ   R[   RÚ   RÛ   RÜ   RÝ   Rà   Rá   Rã   Rä   Rå   Ræ   Rç   (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRÕ   5  s    														t   TestKeepc           B   s   e  Z d  „  Z d „  Z RS(   c         C   sl   |  j  | ƒ | j |  j |  j g ƒ } | j g  ƒ | j j ƒ  g  k sP t ‚ | j ƒ  d  k sh t ‚ d  S(   N(
   R   R   R   R    t   keep_columnsR„   R…   R0   RÄ   R   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRY   «  s
    c         C   s    |  j  | ƒ | j |  j |  j g ƒ } | j d ƒ | j j ƒ  d g k sS t ‚ | j j	 d k sk t ‚ t
 j | d t
 j d d d g ƒ k ƒ sœ t ‚ d  S(   NR    i   i   i   (   R    (   R   R   R   R    Ré   R„   R…   R0   R(   Ri   R;   R<   R@   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRZ   ²  s    (   R,   R-   RY   RZ   (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRè   ¨  s   	t
   TestRenamec           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   |  j  | ƒ | j |  j g ƒ } | j d d ƒ | j j ƒ  d g k sP t ‚ | j j d k sh t ‚ t	 j
 | d t	 j d d d g ƒ k ƒ s™ t ‚ d  S(   NR   R    i   i   i   (   R    (   R   R   R   t   rename_columnR„   R…   R0   R(   Ri   R;   R<   R@   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRY   ¾  s    c         C   s  |  j  | ƒ | j |  j |  j g ƒ } | j d d ƒ | j d d ƒ | j j ƒ  d d g k si t ‚ | j j	 d
 k s t ‚ | j
 r¨ | j j j	 d k s¨ t ‚ n  t j | d t j d d d g ƒ k ƒ sÙ t ‚ t j | d t j d d d	 g ƒ k ƒ s
t ‚ d  S(   NR   R"   R    i   i   i   i   i   i   (   R"   R   (   R"   R   (   R   R   R   R    Rë   R„   R…   R0   R(   Ri   R¼   t   maskR;   R<   R@   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRZ   Æ  s    !	1c         C   sá   |  j  | ƒ | j |  j |  j g ƒ } d | d _ d | d _ | j j ƒ  d d g k sc t ‚ | j j	 d
 k s{ t ‚ t
 j | d t
 j d d d g ƒ k ƒ s¬ t ‚ t
 j | d t
 j d d d	 g ƒ k ƒ sÝ t ‚ d  S(   NR"   R   R    i   i   i   i   i   i   (   R"   R   (   R   R   R   R    R   R„   R…   R0   R(   Ri   R;   R<   R@   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_rename_by_attrÒ  s    !1(   R,   R-   RY   RZ   Rí   (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRê   »  s   		t   TestSortc           B   sb   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z RS(
   c      	   C   sN  | j  ƒ  } | j | j d d d d d d g ƒ ƒ | j | j d d d d d	 d
 g ƒ ƒ | j | j d d d d d d g ƒ ƒ t j | d t j d d d g ƒ k ƒ sµ t ‚ t j | d t j d d	 d
 g ƒ k ƒ sæ t ‚ | j d ƒ t j | d t j d d d g ƒ k ƒ s$t ‚ t j | d t j d	 d d
 g ƒ k ƒ sUt ‚ t j | d t j d d
 g d d g d
 d	 g g ƒ k ƒ s˜t ‚ | j d ƒ t j | d t j d d d g ƒ k ƒ sÖt ‚ t j | d t j d
 d	 d g ƒ k ƒ st ‚ t j | d t j d
 d	 g d d
 g d d g g ƒ k ƒ sJt ‚ d  S(   NR   R   RN   i   i   i   R    i   i   i   R"   (   i   i   (   i   i   (   i   i   (   R   RV   R   R;   R<   R@   R0   Rs   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_singleà  s$    (((1111	11	c         C   sŸ   t  j d ƒ } t  j | ƒ } | j | | g d d ƒ} | j d ƒ t  j | ƒ } t  j | d | | k ƒ sx t ‚ t  j | d | | k ƒ s› t ‚ d S(   s2   Sort a big-ish table with a non-trivial sort orderi'  Ri   Ru   Rv   N(   Ru   Rv   (   R;   RK   t   sinR   Rs   t   argsortR<   R0   (   R   R   Ru   Rv   R+   t   idx(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_single_bigô  s    #c         C   s2   | j  g  g  g d d d g ƒ} | j d ƒ d  S(   NR(   t   f4t   U1Rj   (   R   Rs   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt
   test_emptyþ  s    !c         C   su  | j  ƒ  } | j | j d d d d d d d d d g ƒ ƒ | j | j d d d d d	 d
 d d	 d
 g ƒ ƒ t j | d t j d d d d d d g ƒ k ƒ s¨ t ‚ t j | d t j d d	 d
 d d	 d
 g ƒ k ƒ sâ t ‚ | j d d g ƒ t j | d t j d d d d d d g ƒ k ƒ s/t ‚ t j | d t j d
 d	 d d d
 d	 g ƒ k ƒ sit ‚ | j d d g ƒ t j | d t j d d d d d d g ƒ k ƒ s¶t ‚ t j | d t j d d
 d
 d	 d	 d g ƒ k ƒ sðt ‚ | j d ƒ t j | d t j d d d d d d g ƒ k ƒ s7t ‚ t j | d t j d
 d	 d d d
 d	 g ƒ k ƒ sqt ‚ d  S(   NR   R   RN   i   i   i   R    i   i   i   (   R   R    (   R   RV   R   R;   R<   R@   R0   Rs   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_multiple  s    11:::::::c         C   s7  | j  ƒ  } | j | j d d d d d d g ƒ ƒ | j | j d d d d d d g ƒ ƒ | j | j d d	 d d
 d d g ƒ ƒ | j d d g ƒ t j | d t j d d d g ƒ k g ƒ sË t ‚ t j | d t j d d d g ƒ k g ƒ sÿ t ‚ t j | d	 t j d d d
 g ƒ k g ƒ s3t ‚ d  S(   NR   t	   firstnameRN   t   Maxt   Jot   Johnt   Millert   Jacksont   teli   i   i   (   R   RV   R   Rs   R;   R<   R@   R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_multiple_with_bytes  s    (((44c      	   C   s§  | j  ƒ  } | j | j d d d g  d d d g D] } t j | ƒ ^ q1 ƒ ƒ | j | j d d d g  d d d g D] } t j | ƒ ^ qu ƒ ƒ | j | j d d	 d d
 d d g ƒ ƒ | j d d g ƒ t j | d t j g  d d d g D] } t j | ƒ ^ qò ƒ k g ƒ st	 ‚ t j | d t j g  d d d g D] } t j | ƒ ^ qBƒ k g ƒ sot	 ‚ t j | d	 t j d d d
 g ƒ k g ƒ s£t	 ‚ d  S(   NR   Rø   RN   Rù   Rú   Rû   Rü   Rý   Rþ   i   i   i   (
   R   RV   R   R   t	   text_typeRs   R;   R<   R@   R0   (   R   R   R+   Ru   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_multiple_with_unicode  s    //(==c         C   s}  | j  ƒ  } | j | j d d d d d d d d d g ƒ ƒ | j | j d d d d d	 d
 d d	 d
 g ƒ ƒ t j | j ƒ  | j ƒ  j ƒ  k ƒ s› t ‚ | j d ƒ } | j ƒ  j d d g ƒ } t j | d | | d | k ƒ sð t ‚ | j d d g ƒ } | j ƒ  j d d d g ƒ } t j | d | | d | k ƒ sNt ‚ t j | d | | d | k ƒ syt ‚ d  S(   NR   R   RN   i   i   i   R    i   i   i   t   order(   R   RV   R   R;   R<   Rñ   RÄ   R0   (   R   R   R+   t   i0t   i1(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_argsort.  s    11-++c         C   sÄ   | j  ƒ  } | j | j d d d d d d g ƒ ƒ | j | j d d d d d d g ƒ ƒ | j | j d d	 d d
 d d g ƒ ƒ t j | j d d g ƒ t j d d d g ƒ k ƒ sÀ t ‚ d  S(   NR   Rø   RN   Rù   Rú   Rû   Rü   Rý   Rþ   i   i   i   i   i   i    (   R   RV   R   R;   R<   Rñ   R@   R0   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_argsort_bytes;  s
    (((c      	   C   sü   | j  ƒ  } | j | j d d d g  d d d g D] } t j | ƒ ^ q1 ƒ ƒ | j | j d d d g  d d d g D] } t j | ƒ ^ qu ƒ ƒ | j | j d d	 d d
 d d g ƒ ƒ t j | j d d g ƒ t j d d d g ƒ k ƒ sø t	 ‚ d  S(   NR   Rø   RN   Rù   Rú   Rû   Rü   Rý   Rþ   i   i   i   i   i   i    (
   R   RV   R   R   R   R;   R<   Rñ   R@   R0   (   R   R   R+   Ru   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_argsort_unicodeB  s    //(c         C   sI  | j  d g g d d ƒ} | j d g k s3 t ‚ | j j d	 k sK t ‚ | j d
 ƒ | j d g k sp t ‚ | j j d k sˆ t ‚ | j d d ƒ | j d g k s° t ‚ | j j d k sÈ t ‚ | j d ƒ | j d g k sí t ‚ | j j d k st ‚ | j d d ƒ | j d g k s-t ‚ | j j d k sEt ‚ d S(   s“   
        Issue #2039 where renaming fails after any method that calls
        _rebuild_table_column_view (this includes sort and add_row).
        i   Ri   R   i   R    R"   N(   R   (   R   (   i   (   R   (   R    (   R    (   R"   (   R   R=   R0   R(   Ri   R­   Rë   Rs   (   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt$   test_rebuild_column_view_then_renameO  s    (   R,   R-   Rï   Ró   Rö   R÷   Rÿ   R  R  R  R  R  (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRî   Ý  s   		
			
				t   TestIteratorc           B   s   e  Z d  „  Z RS(   c         C   s¾   t  j d d d g d t d ƒ d	 f t d
 ƒ d	 f g ƒ} | j | ƒ } | j r t j t ƒ  | d | d k Wd  QXn; x8 t | | ƒ D]' \ } } t  j	 | | k ƒ s t
 ‚ q Wd  S(   Ni   i   i   i   i   i   R(   R   t   i4R    i    (   i   i   (   i   i   (   i   i   (   R;   R@   Râ   R   R¼   R3   R4   R5   R   R<   R0   (   R   R   R$   R+   RË   t   np_row(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_iteratorl  s    	0	(   R,   R-   R  (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR	  i  s   t   TestSetMetac           B   s   e  Z d  „  Z RS(   c         C   sw   | j  d d ƒ } d | j d <d | j d <d | j d <d | j d <t | j j ƒ  ƒ d d d d g k ss t ‚ d  S(   NRi   R   R    i   R"   R$   (   R   R    (   R   R   t   listR…   R0   (   R   R   R$   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_set_meta|  s    (   R,   R-   R  (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR  y  s   t   TestConvertNumpyArrayc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c      
   C   sX  | j  d d g d d g g d d ƒ} t j | ƒ } | j  t k	 ri t j | | j ƒ  k ƒ si t ‚ n  | | j ƒ  k	 s t ‚ | j t | j	 j
 ƒ k s¢ t ‚ t j | d t ƒ} | j  t k	 rê t j | | j ƒ  k ƒ sê t ‚ n  | j t | j	 j
 ƒ k st ‚ t j t ƒ 8 t j | d	 t d
 ƒ d f t d ƒ d f g ƒ} Wd  QXd  S(   Ni   i   i   i   Ri   R   R    Ro   R(   R"   t   i8R$   (   R   R    (   R   R;   R@   R   R<   RÄ   R0   R=   R  R(   Ri   Rq   R3   R4   R5   Râ   (   R   R   R$   t   np_data(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_convert_numpy_arrayˆ  s    '$!$!c         C   sò   d } | t  j d k } xÒ | D]Ê } | j d d g d d d | d	 ƒ} | j | g ƒ } | j ƒ  } | d j j | d
 f k s‹ t ‚ | j d t ƒ } | | k rÎ | d j j | d
 f k sê t ‚ q  | d j j | k s  t ‚ q  Wd S(   s5   Test for https://github.com/astropy/astropy/pull/4080t   >t   <t   littleg      ð?g       @R   R   R(   t   f8t   =t   keep_byteorderN(   R  R  (   t   syst	   byteorderR   R   RÄ   R(   R0   Rr   (   R   R   t   byte_orderst   native_orderR  R|   R+   t   arr(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_as_array_byteswap™  s    %"%c      	   C   s.  d	 t  j d k } t d d ƒ } | j j | ƒ } | j ƒ  } x9 t t | j ƒ ƒ D]" } | j | j | k sV t	 ‚ qV Wt
 j | ƒ  } | d j } x7 | j j D]) }	 t j | |	 | |	 k ƒ s¨ t	 ‚ q¨ W| j d t ƒ }
 x: | j j D], }	 | |	 j j |
 |	 j j k sô t	 ‚ qô WWd QXd S(
   s“   
        Test for https://github.com/astropy/astropy/pull/4080, demonstrating
        that FITS tables are converted to native byte order.
        R  R  R  s   data/tb.fitss   astropy.io.fits.testsi   R  N(   R  R  (   R  R  R   R   t   readRÄ   R   RX   R(   R0   R   t   openRN   R„   Ri   R;   R<   Rr   (   R   R   t   non_native_ordert   filenameR+   R  Rò   t   hdulRN   t   colnamet   arr2(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_byteswap_fits_arrayª  s    	 '(   R,   R-   R  R  R'  (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR  …  s   		c         C   s¿   |  j  | j  k s t ‚ t j j |  j ƒ  | j ƒ  ƒ |  j | j k sO t ‚ xi t |  j j	 ƒ  | j j	 ƒ  ƒ D]F \ } } | rŸ t j
 | | ƒ s· t ‚ qq t j
 | | ƒ sq t ‚ qq Wd  S(   N(   R=   R0   R;   t   testingR   RÄ   R   R   R„   t   valuest   may_share_memory(   R+   R^   t   deepR|   t   col2(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   _assert_copiesÅ  s    .c          C   sP   t  j d d d g d d d g g d d d g ƒ}  |  j ƒ  } t |  | ƒ d  S(   Ni   i   i   i   Ri   Ru   Rv   (   R	   R   Ro   R-  (   R+   R^   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt	   test_copyÑ  s    3c       
   C   s}   t  j d d d g d d d g g d d d g d t d	 i d
 d 6ƒ}  |  d j t t t g k |  j ƒ  } t |  | ƒ d  S(   Ni   i   i   i   Ri   Ru   Rv   R¼   R   t   testR   (   R	   R   Rr   Rì   Rq   Ro   R-  (   R+   R^   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_copy_masked×  s
    6c          C   su   t  j d d d g d d d g g d d d g ƒ}  t j |  ƒ } t j |  ƒ } t |  | d t ƒt |  | ƒ d  S(	   Ni   i   i   i   Ri   Ru   Rv   R+  (   R	   R   Ro   t   deepcopyR-  Rq   (   R+   R^   t   t3(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_copy_protocolß  s
    3c       	   C   s   t  j ƒ  }  t j t ƒ  |  d k Wd QXt j t ƒ  |  d k  Wd QXt j t ƒ  |  d k Wd QXt j t ƒ  |  d k Wd QXd S(   sQ   
    Regression test for #828 - disallow comparison operators on whole Table
    i   Ngš™™™™™ñ?g      @gš™™™™™ñ¿(   R	   R   R3   R4   R6   (   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt$   test_disallow_inequality_comparisonsé  s    c          C   se  t  j j d d d d d d d d d	 g	 d
 d ƒ}  t j |  |  k ƒ sN t ‚ t j |  |  k ƒ sj t ‚ t j |  |  d k t j d d d d d d d d g d t ƒk ƒ s¶ t ‚ t j |  |  d k t j d d d d d d d d g d t ƒk ƒ st ‚ t  j j d d d d d d d d d	 g	 d
 d ƒ} t j |  | k t j d d d d d d d d g d t ƒk ƒ s}t ‚ t j |  | k t j d d d d d d d d g d t ƒk ƒ sÅt ‚ t j |  | j	 ƒ  k t j d d d d d d d d g d t ƒk ƒ st ‚ t j |  j	 ƒ  | k t j d d d d d d d d g d t ƒk ƒ sat ‚ d  S(   Ns
    a b  c  ds
    2 c 7.0 0s
    2 b 5.0 1s
    2 b 6.0 2s
    2 a 4.0 3s
    0 a 0.0 4s
    1 b 3.0 5s
    1 a 2.0 6s
    1 a 1.0 7R   t   asciii   i    i   R(   s
    3 b 6.0 2s
    0 a 1.0 4s
    1 c 2.0 6(
   R	   R   R   R;   R<   R0   t   anyR@   t   boolRÄ   (   R+   R^   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_equalityý  s8    		LL		HHNc          C   sÍ  t  j j d d d d d d d d d	 g	 d
 d ƒ}  t  j |  d t ƒ}  t j |  |  k ƒ sc t ‚ t j |  |  k ƒ s t ‚ t j |  |  d k t j d d d d d d d d g d t	 ƒk ƒ sË t ‚ t j |  |  d k t j d d d d d d d d g d t	 ƒk ƒ st ‚ t  j j d d d d d d d d d	 g	 d
 d ƒ} t j |  | k t j d d d d d d d d g d t	 ƒk ƒ s’t ‚ t j |  | k t j d d d d d d d d g d t	 ƒk ƒ sÚt ‚ t |  j
 d d <t j |  | k t j d d d d d d d d g d t	 ƒk ƒ s3t ‚ t j |  | k t j d d d d d d d d g d t	 ƒk ƒ s{t ‚ t j |  | j ƒ  k t j d d d d d d d d g d t	 ƒk ƒ sÉt ‚ d  S(   Ns
    a b  c  ds
    2 c 7.0 0s
    2 b 5.0 1s
    2 b 6.0 2s
    2 a 4.0 3s
    0 a 0.0 4s
    1 b 3.0 5s
    1 a 2.0 6s
    1 a 1.0 7R   R5  R¼   i   i    i   R(   s
    3 b 6.0 2s
    0 a 1.0 4s
    1 c 2.0 6R   (   R	   R   R   Rr   R;   R<   R0   R6  R@   R7  Rì   RÄ   (   R+   R^   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_equality_masked+  s>    		LL		HHHHc          C   sÍ   t  j j d d d d d d d d d	 g	 d
 d ƒ}  t  j |  d t ƒ}  t  j j d d d d d d d d d	 g	 d
 d ƒ} t j |  j ƒ  | k t j d d d d d d d d g d t ƒk ƒ sÉ t	 ‚ d S(   s¹   
    This highlights a Numpy bug. Once it works, it can be moved into the
    test_equality_masked test. Related Numpy bug report:

      https://github.com/numpy/numpy/issues/3840
    s
    a b  c  ds
    2 c 7.0 0s
    2 b 5.0 1s
    2 b 6.0 2s
    2 a 4.0 3s
    0 a 0.0 4s
    1 b 3.0 5s
    1 a 2.0 6s
    1 a 1.0 7R   R5  R¼   s
    3 b 6.0 2s
    0 a 1.0 4s
    1 c 2.0 6i    i   R(   N(
   R	   R   R   Rr   R;   R<   RÄ   R@   R7  R0   (   R+   R^   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_equality_masked_bug`  s,    					(   t   MetaBaseTestt   TestMetaTablec           B   s   e  Z e j Z d  Z RS(   (    (   R,   R-   R	   R   t
   test_classt   args(    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR<  ‹  s   	c         C   s}   t  j ry |  j d g g d t  j d ƒ f ƒ} | j d g k sH t ‚ d | t  j d ƒ <| j d d g k sy t ‚ n  d S(   s„   
    Test that unicode column names are accepted.  Only do this for
    Python 2 since strings are unicode already in Python 3.
    i   Ri   R   g        R    N(   R   t   PY2R   R   R=   R0   (   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_unicode_column_names  s
    	'c          C   s†   t  d t ƒ r d  Sd }  d } t j |  d g | d g g d d
 ƒ} |  t j | ƒ k sa t ‚ |  j d	 ƒ t | ƒ k s‚ t ‚ d  S(   NR¬   s+   Ð°ÑÑ‚Ñ€Ð¾Ð½Ð¾Ð¼Ð¸Ñ‡ÐµÑÐºÐ°Ñ Ð¿Ð¸Ñ‚Ð¾Ð½Ð°s*   Ð¼Ð¸Ð»Ð»Ð¸Ð°Ñ€Ð´Ñ‹ ÑÐ²ÐµÑ‚Ð¾Ð²Ñ‹Ñ… Ð»ÐµÑ‚i   i   Ri   R   R    s   utf-8(   R   R    (   R{   t   bytesR	   R   R   R   R0   t   encode(   t   string_at   string_bR   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_unicode_contentœ  s    		c       
   C   sA   t  j j d d d d d d d d d	 g	 d
 d ƒ}  t |  ƒ d  S(   Ns
    a b  c  ds
    2 c 7.0 0s
    2 b 5.0 1s
    2 b 6.0 2s
    2 a 4.0 3s
    0 a 0.0 4s
    1 b 3.0 5s
    1 a 2.0 6s
    1 a 1.0 7R   R5  (   R	   R   R   R   (   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_unicode_policy°  s    		c         C   s  |  j  d g d g d g g d d ƒ} | d j j d k sC t ‚ | d	 j j d k s_ t ‚ | d
 j j d k s{ t ‚ | j ƒ  } | j ƒ  | d j j d k s­ t ‚ | d	 j j d k sÉ t ‚ | d
 j j d k så t ‚ | d d d k sÿ t ‚ | d	 d d k st ‚ | d
 d d k s3t ‚ | j ƒ  } | j ƒ  | d j j d k set ‚ | d	 j j d k st ‚ | d
 j j d k st ‚ | d d t j d ƒ k sÀt ‚ | d	 d t j d ƒ k sãt ‚ | d
 d d k sýt ‚ d  S(   NR8   R9   i   R(   t   St   Ut   iRn   Rj   R,  i    (   RG  RH  RI  (	   R   R(   RÉ   R0   Ro   t   convert_unicode_to_bytestringt   convert_bytestring_to_unicodeR   R   (   R   R+   R£   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt"   test_unicode_bytestring_conversion¾  s(    '

##c             sŒ   t  ƒ  ‰  d t j f ‡  f d †  ƒ  Y}  |  i d d d g d 6ƒ } t | ƒ } | d j | k si t ‚ ~ t j ƒ  | ˆ  k sˆ t ‚ d S(   sq   
    Regression test for the reference cycle discussed in
    https://github.com/astropy/astropy/issues/2877
    t	   TestTablec              s   e  Z ‡  f d  †  Z RS(   c            s   ˆ  j  t |  ƒ ƒ d  S(   N(   t   addt   id(   R   (   t   deleted(    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   __del__á  s    (   R,   R-   RQ  (    (   RP  (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRM  à  s   i   i   i   R   N(   t   setR	   R   RO  t   parent_tableR0   t   gct   collect(   RM  R+   t   the_id(    (   RP  s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_table_deletion×  s    	
c          C   s†   t  j d d g g d d g ƒ}  g  } x: |  D]2 } x) |  D]! } | j | d | d f ƒ q; Wq. W| d d d d	 g k s‚ t ‚ d S(
   sZ   
    Regression test for issue 3358 where nested iteration over a single table fails.
    i    i   Ri   R   N(   i    i    (   i    i   (   i   i    (   i   i   (   R	   R   t   appendR0   (   R+   t   outt   r1t   r2(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_nested_iterationð  s    !#c         C   s¡   |  j  t j g  ƒ ƒ } t | j ƒ d k s3 t ‚ t j t ƒ  |  j  t j d ƒ ƒ } Wd  QX|  j  t j d d d g ƒ ƒ } t | j ƒ d k s t ‚ d  S(   Ni    i   i   i   (	   R   R;   R@   RX   R„   R0   R3   R4   R5   (   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt&   test_table_init_from_degenerate_arraysü  s    !s   not HAS_PANDASt
   TestPandasc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c   
      C   s  t  j ƒ  } xŒ d d g D]~ } xu d d g D]g } x^ d d d g D]M } t j | | | ƒ } t j d d	 d
 g d | ƒ} | | | | | <qB Wq, Wq Wd d d g | d <d d d g | d <| j ƒ  } x]| j D]R} | d k r?t j | d t j d d d g ƒ k ƒ st ‚ | | j t j d ƒ k s)t ‚ q× | d k r¡t j | d t j d d d g ƒ k ƒ s|t ‚ | | j t j d ƒ k s)t ‚ q× t j | | | | k ƒ sÄt ‚ | | j j	 d k rý| | j | | j k s)t ‚ q× | | j | | j
 ƒ  j ƒ  j k s× t ‚ q× W| d d g | d d g t  j j | ƒ }	 x½ | j D]² } | d k rt j | | |	 | k ƒ s²t ‚ n t | | |	 | ƒ | | j j	 d k rë| | j |	 | j k st ‚ qe| | j
 ƒ  j ƒ  j |	 | j k set ‚ qeWd  S(   NR  R  RI   RI  t   2t   4R©   i   i   i   R(   R   R    R"   RA   t   sR)   R  t   |s   <i4s   >i4s   <f4s   >f4(   R  Rb  (   RA   Ra  (   R  Rb  (   R	   R   R;   R(   R@   t	   to_pandasR„   R<   R0   R  t   byteswapt   newbyteordert   from_pandasR   (
   R   R+   t   endianRÉ   t   byteR(   Ru   R$   t   columnR^   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRd   
  s>    1%1%##0&#c         C   st   t  j ƒ  } d d d g | d <t j d ƒ | d <t j t ƒ  } | j ƒ  Wd  QX| j j	 d d k sp t
 ‚ d  S(	   Ni   i   i   R   R    i    sK   Cannot convert a table with multi-dimensional columns to a pandas DataFrame(   i   i   (   R	   R   R;   t   onesR3   R4   R5   Rc  t   valueR>  R0   (   R   R+   t   exc(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRÓ   <  s    c         C   s‰   d d l  m } t j ƒ  } | d d d g d d d g d d	 ƒ| d
 <t j t ƒ  } | j ƒ  Wd  QX| j j	 d d k s… t
 ‚ d  S(   Ni   (   t   SkyCoordi   i   i   i   i   RC   t   degR"   i    s?   Cannot convert a table with mixin columns to a pandas DataFrame(   t   coordinatesRm  R	   R   R3   R4   R5   Rc  Rk  R>  R0   (   R   Rm  R+   Rl  (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt
   test_mixinF  s    +c         C   sI  t  j d t ƒ } d d d g | d <t t t g | d _ d d d g | d	 <t t t g | d	 _ d d	 d
 g | d <t t t g | d _ d d	 d
 g | d <t t t g | d _ d d d g | d <t t t g | d _ | j ƒ  } t  j j | ƒ } xE| j j ƒ  D]4\ } } t	 j
 | j | | j k ƒ s>t ‚ t	 j
 | j | | j k ƒ sct ‚ | j j d k rèt	 j | j ƒ r¦| | j j d k sÂt ‚ n | | j j d k sÂt ‚ t | j | | j j | j ƒ ƒ q| j j d k r| j | | j k sAt ‚ q| j ƒ  j ƒ  j | | j k st ‚ qWd  S(   NR¼   i   i   i   R   g      ð?g       @g      @R    R"   RA   Ra  I *
 Q>Ý#I€+
 >Ý#I é è<Ý#t   SourceRI  RI   R  Rb  (   R  Rb  (   R	   R   Rr   Rq   Rì   Rc  Rf  R„   t   itemsR;   R<   RN   R0   R(   RÉ   R6  R   t   astypeR  Rd  Re  (   R   R+   R$   R^   R   Ri  (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_maskingQ  s4    %%	(   R,   R-   Rd   RÓ   Rp  Rt  (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR^    s   	2	
	t   TestReplaceColumnc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c      
   C   s‡   |  j  | ƒ | j |  j |  j g ƒ } t j t ƒ  d d d g | j d <Wd QXt j t ƒ  | j d d d d g ƒ Wd QXd S(   sF   Raise exception when trying to replace column via table.columns objecti   i   i   R   Ns	   not there(	   R   R   R   R    R3   R4   R5   R„   t   replace_column(   R   R   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_fail_replace_column~  s    c         C   s;  |  j  | ƒ | j |  j |  j g ƒ } | d } | d } d d d g } xé | | j | ƒ | j | d d ƒ| j | d d ƒf D]® } | j d | ƒ t j | d | k ƒ sº t ‚ | d | k	 sÐ t ‚ | d | k sæ t ‚ | j	 d d g k st ‚ | d j
 i  k st ‚ | d j d k s… t ‚ q… Wd S(   s)   Replace existing column with a new columnR   R    g333333ó?g333333@gffffff@R   N(   R   R   R   R    R   Rv  R;   R<   R0   R=   R   R   R   (   R   R   R+   t   tat   tbt   valsR|   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_replace_column‰  s     

c      	   C   s†   |  j  | ƒ | j |  j |  j g ƒ } | j d ƒ t j t ƒ   } | j d d d d g ƒ Wd QX| j	 j
 d d k s‚ t ‚ d S(   s4   Replace index column and generate expected exceptionR   i   i   i   Ni    s#   cannot replace a table index column(   R   R   R   R    t	   add_indexR3   R4   R5   Rv  Rk  R>  R0   (   R   R   R+   t   err(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_replace_index_column  s    (   R,   R-   Rw  R{  R~  (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyRu  |  s   		t   Test__Astropy_Table__c           B   s?   e  Z d  Z d e f d „  ƒ  YZ d „  Z d „  Z d „  Z RS(   s   
    Test initializing a Table subclass from a table-like object that
    implements the __astropy_table__ interface method.
    t   SimpleTablec           B   s   e  Z d  „  Z d „  Z RS(   c         C   s_   d d d g d d d g d d d	 g t  j g |  _ d
 d d g |  _ t d d g ƒ |  _ d  S(   Ni   i   i   i   i   i   i   i   i	   R   R    R"   (   R   i   (   R    i   (   RA   RB   R„   Ri   R    R   (   R   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   __init__¯  s
    c   
      K   s   |  j  \ } } } d | j _ t j | d d ƒt j | d d ƒ| g } g  | D] } | j j ^ qR }	 | | d |	 d | d | p‹ |  j ƒS(   NR"   R   R   R    Ri   Ro   R   (   R„   R   R   R	   R   RQ   R   (
   R   t   clsRo   t   kwargsR   R    R"   Rc   R|   Ri   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   __astropy_table__¶  s    	(   R,   R-   R  R„  (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR€  ®  s   	c         C   s
  xt  j t  j f D]ï} | t  j k r1 t j n t  j } xÅt t f D]·} |  j ƒ  } | | d | d d ƒ} | j	 d d d g k s t
 ‚ | j i d d 6k s« t
 ‚ t j | d | j d k ƒ sÑ t
 ‚ t j | d | j d k ƒ s÷ t
 ‚ | t  j k r| d j n | d } t j | j d	 j | k ƒ sBt
 ‚ t | d t  j ƒ s^t
 ‚ t | d t  j ƒ szt
 ‚ t | d | ƒ s“t
 ‚ | d j t j k s¯t
 ‚ t | ƒ | k sÇt
 ‚ d
 | d d <| rò| j d d d k n d
 sG t
 ‚ qG Wq Wd S(   sE   Make a SimpleTable and convert to Table, QTable with copy=False, TrueRo   t
   extra_metas   extra!R   R    R"   i    i   i   i
   N(   R	   R   R´   RA   t   QuantityRQ   Rq   Rr   R€  R=   R0   R   R;   R<   R„   Rk  R{   RC   RB   Rb   (   R   t	   table_clst   col_c_classt   cpyt   stR+   Rz  (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_simple_1¿  s$    !&&&%c      
   C   s¼   |  j  ƒ  } t j t j t j g } d d d g } t j | d | d | d t d
 g ƒ ƒ} | j | k sr t	 ‚ t
 d „  t | j j ƒ  | ƒ Dƒ ƒ s  t	 ‚ | j | j k s¸ t	 ‚ d	 S(   sA   Test converting a SimpleTable and changing column names and typesR   R    R"   R(   Ri   R   i   c         s   s'   |  ] \ } } | j  j | k Vq d  S(   N(   R(   Rb   (   t   .0R|   R(   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pys	   <genexpr>ß  s   N(   R"   i   (   R€  R;   t   int32Ra   t   float16R	   R   R    R=   R0   R<   R   R„   R)  R   (   R   RŠ  t   dtypesRi   R+   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_simple_2Ø  s    *	%c         C   sM   t  j t ƒ   } t j d g g d d ƒWd QXd t | ƒ k sI t ‚ d S(   sg   If extra kwargs provided but without initializing with a table-like
        object, exception is raisedi   R…  s   extra!Ns*   __init__() got unexpected keyword argument(   R3   R4   R6   R	   R   Râ   R0   (   R   R}  (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_kwargs_exceptionæ  s    (   R,   R-   t   __doc__t   objectR€  R‹  R  R‘  (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyR  ¨  s
   		c          C   sC  d d d g t  j }  d d d g } t j |  | g d d d	 g ƒ} | d } | d	 } i d
 d d d d g d 6| j _ d | j _ | j d |  j d ƒ ƒ t	 j
 | d | k ƒ sÀ t ‚ | d | k	 sÖ t ‚ | d	 | k sì t ‚ | j d d	 g k st ‚ | d j j d k s#t ‚ | d j j d k s?t ‚ d S(   s>   Replace existing Quantity column with a new column in a QTablei   i   i   i   i   i   Ri   R   R    i    R   s   %ft   cmN(   RA   RB   R	   R´   R   R   R   Rv  t   toR;   R<   R0   R=   R   (   R   R    R+   Rx  Ry  (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_replace_column_qtableî  s    !

"c          C   s$  d d g t  j }  d d g } t j |  | g d d d g ƒ} t | d t  j ƒ s\ t ‚ | d } d t  j | d <t j | d d d g t  j k ƒ s£ t ‚ | d | k s¹ t ‚ d d	 g | d <t j | d d d	 g k ƒ sî t ‚ t | d t j	 ƒ s
t ‚ | d | k	 s t ‚ d
 S(   sÇ   
    Test table update like ``t['a'] = value``.  This leverages off the
    already well-tested ``replace_column`` and in-place update
    ``t['a'][:] = value``, so this testing is fairly light.
    i   i   i   i   Ri   R   R    i   i   N(
   RA   RB   R	   R´   R{   R†  R0   R;   R<   R   (   R   R    R+   Rx  (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt&   test_replace_update_column_via_setitem  s    !
,%c          C   s»   t  j d d d g d d d g g d d d	 g ƒ}  t ƒ  y } t  j j d
 d d d g ƒ R d |  d <t | ƒ d k s€ t ‚ d d d g |  d <t | ƒ d k s« t ‚ Wd QXWd QXd S(   sa   
    Test warnings related to table replace change in #5556:
    Normal warning-free replace
    i   i   i   i   i   i   Ri   R   R    t   replace_warningst   refcountt
   attributesRß   i    i
   i   i   N(   R	   R   R   t   conft   set_tempRX   R0   (   R+   t   w(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt6   test_replace_update_column_via_setitem_warnings_normal  s    3
c          C   s	  t  j d d d g d d d g g d d d	 g ƒ}  t ƒ  Ç } t  j j d
 d d d g ƒ   |  d  } d | d <t j |  d d d d g k ƒ sš t ‚ t | ƒ d k s² t ‚ d d g | d <t | ƒ d k sÚ t ‚ d t	 | d j
 ƒ k sù t ‚ Wd QXWd QXd S(   sc   
    Test warnings related to table replace change in #5556:
    Replace a slice, one warning.
    i   i   i   i   i   i   Ri   R   R    R˜  R™  Rš  Rß   i    i
   i   s3   replaced column 'a' which looks like an array sliceN(   R	   R   R   R›  Rœ  R;   R<   R0   RX   Râ   t   message(   R+   R  R^   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt5   test_replace_update_column_via_setitem_warnings_slice*  s    3

(c          C   sÅ   t  j d d d g d d d g g d d d	 g ƒ}  d
 |  d _ t ƒ  v } t  j j d d d d g ƒ  d d d g |  d <Wd QXt | ƒ d k sœ t ‚ d t | d j	 ƒ k s» t ‚ Wd QXd S(   sV   
    Test warnings related to table replace change in #5556:
    Lost attributes.
    i   i   i   i   i   i   Ri   R   R    RB   R˜  R™  Rš  Rß   i
   i   i   Ns2   replaced column 'a' and column attributes ['unit']i    (
   R	   R   RC   R   R›  Rœ  RX   R0   Râ   RŸ  (   R+   R  (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt:   test_replace_update_column_via_setitem_warnings_attributes>  s    3c          C   sÂ   t  j d d d g d d d g g d d d	 g ƒ}  |  d } t ƒ  v } t  j j d
 d d d g ƒ  d d d g |  d <Wd QXt | ƒ d k s™ t ‚ d t | d j ƒ k s¸ t ‚ Wd QXd S(   s^   
    Test warnings related to table replace change in #5556:
    Reference count changes.
    i   i   i   i   i   i   Ri   R   R    R˜  R™  Rš  Rß   i
   i   i   Ns0   replaced column 'a' and the number of referencesi    (	   R	   R   R   R›  Rœ  RX   R0   Râ   RŸ  (   R+   Rx  R  (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt8   test_replace_update_column_via_setitem_warnings_refcountN  s    3
c          C   sN  t  j d d d g d d d g g d d d	 g ƒ}  t ƒ  } t  j j d
 d g ƒ ë d |  d <t | ƒ d k sz t ‚ d d l m } m	 } | | ƒ  ƒ } d d d g |  d <t | ƒ d k sÊ t ‚ d t
 | d j ƒ k sé t ‚ | d j | j d k s	t ‚ | d j t  j k s%t ‚ d | d j k s>t ‚ Wd QXWd QXd S(   s€   
    Test warnings related to table replace change in #5556:
    Test 'always' setting that raises warning for any replace.
    i   i   i   i   i   i   Ri   R   R    R˜  t   alwaysi    iÿÿÿÿ(   t   currentframet   getframeinfoi
   i   i   s   replaced column 'a't
   test_tableN(   R	   R   R   R›  Rœ  RX   R0   t   inspectR¤  R¥  Râ   RŸ  t   linenot   categoryt   TableReplaceWarningR#  (   R+   R  R¤  R¥  t	   frameinfo(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt6   test_replace_update_column_via_setitem_warnings_always^  s    3
 c          C   sE  t  j d d d g d d d g g d d d	 g ƒ}  |  d } d
 |  d _ t ƒ  ì } t  j j d t ƒ Î t  j j d d d d d g ƒ ¦ d |  d <t | ƒ d k s° t ‚ | |  d k sÆ t ‚ d d d g |  d <t | ƒ d k sñ t ‚ | |  d k st ‚ t	 j
 |  d d d d g k ƒ s/t ‚ Wd QXWd QXWd QXd S(   sh   
    Test the replace_inplace config option related to #5556.  In this
    case no replace is done.
    i   i   i   i   i   i   Ri   R   R    RB   t   replace_inplaceR˜  R£  R™  Rš  Rß   i    i
   i   i   N(   R	   R   RC   R   R›  Rœ  Rr   RX   R0   R;   R<   (   R+   Rx  R  (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt6   test_replace_update_column_via_setitem_replace_inplacev  s    3

c          C   s  t  j d d g d d ƒ}  |  j d	 ƒ |  j } | d d	 k sG t ‚ |  } |  j ƒ  } t  j |  ƒ } | | j k s~ t ‚ | | j k s“ t ‚ | | j k s¨ t ‚ |  j d | j d k sÈ t ‚ |  j d | j d k sè t ‚ |  j d | j d k st ‚ d S(   sb   Test whether a new Table inherits the primary_key attribute from
    its parent Table. Issue #4672i   i   i   i   i   i   i   Ri   R   R    i    N(   i   i   i   i   (   i   i   i   i   (   R   R    (   R	   R   R|  t   primary_keyR0   Ro   t   loc(   R+   t   original_keyR^   R2  t   t4(    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   test_primary_key_is_inherited  s    	  c          C   sx   t  j d g g d d ƒ}  t ƒ  } |  j | d d ƒt  j j | j ƒ  d d d t ƒ} | d j d k st t	 ‚ d S(   s”   Test that a char column of a QTable is assigned no unit and not
    a dimensionless unit, otherwise conversion of reader output to
    QTable fails.t   ARi   t   BR   s
   ascii.ipact   guessN(
   R	   R´   t   StringIOt   writeR   t   getvalueRq   RC   R   R0   (   R£   RY  R^   (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt1   test_qtable_read_for_ipac_table_with_char_columns§  s
    	$(    (    (    (    (    (    (    (    (    (_   Ro   RT  R  t   collectionsR    R3   t   numpyR;   t   numpy.testingR   R   t   externR   t   ioR   t   tests.helperR   R   R   t
   utils.dataR   R¬   R	   R
   RA   t   conftestR   t   extern.six.movesR   R   R   R·  t   DeprecationWarningt   pandast   ImportErrorRq   t
   HAS_PANDASRr   R“  R   t   markt   usefixturesR/   RT   R`   Rl   Rx   R~   R‚   RŒ   R   R”   R§   RÏ   RÑ   RÕ   Rè   Rê   Rî   R	  R  R  R-  R.  R0  R3  R4  R8  R9  t   xfailR:  t   utils.tests.test_metadataR;  R<  R@  RE  RF  RL  RW  R\  R]  t   skipifR^  Ru  R  R–  R—  Rž  R   R¡  R¢  R¬  R®  R³  Rº  (    (    (    s=   lib/python2.7/site-packages/astropy/table/tests/test_table.pyt   <module>   sª   
3ƒ%&%%%%<!#^¹
r!%Œ%%%@			
		.	5(							t+F									