ó
šßÈ[c           @  sÿ  d  d l  m Z d  d l m Z m Z d d l m Z d  d l Z d  d l Z	 d d l
 m Z m Z e j r€ d  d l m Z n d  d l m Z d	 d, d
 „  ƒ  YZ d d- d „  ƒ  YZ e j j d ƒ d e f d „  ƒ  Yƒ Z e j j d ƒ d e f d „  ƒ  Yƒ Z e j j d ƒ d e f d „  ƒ  Yƒ Z e j j d ƒ d e f d „  ƒ  Yƒ Z e j j d ƒ d e f d „  ƒ  Yƒ Z e j j d ƒ d e f d „  ƒ  Yƒ Z e j j d ƒ d e f d „  ƒ  Yƒ Z e j j d ƒ d e f d „  ƒ  Yƒ Z e j j d ƒ d e f d „  ƒ  Yƒ Z e j j d ƒ d  e f d! „  ƒ  Yƒ Z e j j d ƒ d" e f d# „  ƒ  Yƒ Z 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+ „  ƒ Z" d S(0   iÿÿÿÿ(   t   print_function(   t   OrderedDictt   Mappingi   (   t   sixN(   t   Columnt   TableColumns(   t   IterableUserDict(   t   UserDictt   TestTableColumnsInitc           B  s   e  Z d  „  Z RS(   c         C  s  t  j d ƒ } t  j d ƒ } t  j d ƒ } d | f d | f d | f g } t | ƒ } xB | D]: } | d | k s} t ‚ | | d | d k sa t ‚ qa Wd | f d | f d | f f } t | ƒ } xB | D]: } | d | k sï t ‚ | | d | d k sÓ t ‚ qÓ Wt d | f d | f d | f g ƒ }	 t |	 ƒ }
 x@ |
 j ƒ  D]2 } | |
 k sit ‚ |
 | |	 | k sQt ‚ qQWg  | D]  } t | d d	 | d ƒ^ qŽ} t | ƒ } x< | D]4 } | j | k sât ‚ | | j | k sÇt ‚ qÇWd
 S(   so   Test initialisation with lists, tuples, dicts of arrays
        rather than Columns [regression test for #2647]g      $@g      @g      @t   x1t   x2t   x3i    i   t   nameN(   t   npt   arangeR   t   AssertionErrort   dictt   keysR   R   (   t   selfR	   R
   R   t   col_listt   tc_listt   colt	   col_tuplet   tc_tuplet   col_dictt   tc_dictt   columnst   tc(    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt	   test_init   s.    !"!"'-(   t   __name__t
   __module__R   (    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyR      s   t   BaseInitFromc           B  s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C  s   d  S(   N(    (   R   t
   table_type(    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   _setup:   s    c           só   |  j  | ƒ | |  j d d ƒ‰  ˆ  j d d d g k s@ t ‚ t j ˆ  d t j d d g ƒ k ƒ sn t ‚ t j ˆ  d t j d d g ƒ k ƒ sœ t ‚ t j ˆ  d t j d d	 g ƒ k ƒ sÊ t ‚ t ‡  f d
 †  ˆ  j Dƒ ƒ sï t ‚ d  S(   Nt   namest   at   bt   ci   i   i   i   i   c         3  s"   |  ] } ˆ  | j  | k Vq d  S(   N(   R   (   t   .0R   (   t   t(    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pys	   <genexpr>D   s    (   R#   R$   R%   (   R!   t   datat   colnamesR   R   t   allt   array(   R   R    (    (   R'   sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_basic_init=   s    ...c           sh  |  j  | ƒ | |  j d d d d ƒ‰  ˆ  j d d d g k sF t ‚ t j ˆ  d t j d	 d
 g d d ƒk ƒ sz t ‚ t j ˆ  d t j d d g d d ƒk ƒ s® t ‚ t j ˆ  d t j d
 d g d d ƒk ƒ sâ t ‚ ˆ  d j j t j	 k st ‚ ˆ  d j j t j
 k s t ‚ ˆ  d j j t j k s?t ‚ t ‡  f d †  ˆ  j Dƒ ƒ sdt ‚ d  S(   NR"   R#   R$   R%   t   dtypet   i4t   f4t   f8i   i   i   i   i   c         3  s"   |  ] } ˆ  | j  | k Vq d  S(   N(   R   (   R&   R   (   R'   (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pys	   <genexpr>P   s    (   R#   R$   R%   (   R.   R/   R0   (   R!   R(   R)   R   R   R*   R+   R-   t   typet   int32t   float32t   float64(   R   R    (    (   R'   sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_set_dtypeF   s    444c         C  s@   |  j  | ƒ t j t ƒ  | |  j d d d d ƒWd  QXd  S(   NR"   R#   R-   R.   R/   (   R#   (   R.   R/   R.   (   R!   t   pytestt   raisest
   ValueErrorR(   (   R   R    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_names_dtype_mismatchR   s    c      
   C  s@   |  j  | ƒ t j t ƒ  | |  j d d d d ƒWd  QXd  S(   NR"   R#   R-   R.   (   R#   (   R!   R6   R7   R8   R(   (   R   R    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_names_cols_mismatchW   s    (   R   R   R!   R,   R5   R9   R:   (    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyR   9   s
   					R    t   BaseInitFromListLikec           B  s   e  Z d  „  Z d „  Z RS(   c      
   C  sF   |  j  | ƒ t j t ƒ $ | |  j d d g d t g ƒWd  QXd  S(   NR"   R#   R-   (   R!   R6   R7   R8   R(   t   int(   R   R    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyR:   `   s    c         C  sL   |  j  | ƒ t j t ƒ * | |  j d d g d t g d t ƒWd  QXd  S(   NR"   R#   R-   t   copy(   R!   R6   R7   R8   R(   R<   t   False(   R   R    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_names_copy_falsee   s    (   R   R   R:   R?   (    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyR;   ]   s   	t   BaseInitFromDictLikec           B  s   e  Z RS(    (   R   R   (    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyR@   k   s   t   TestInitFromNdarrayHomoc           B  s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C  s"   t  j d d	 g d d ƒ|  _ d  S(
   Ni   i   i   i   i   R-   R.   (   i   i   i   (   i   i   i   (   R   R+   R(   (   R   t   method(    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   setup_methods   s    		c         C  s>   |  j  | ƒ | |  j ƒ } | j d d d g k s: t ‚ d  S(   Nt   col0t   col1t   col2(   R!   R(   R)   R   (   R   R    R'   (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_default_namesx   s    c         C  s‹   |  j  | ƒ | |  j d t ƒ} d | d d <| j ƒ  d d d k sP t ‚ | d d d k sj t ‚ |  j d d d k s‡ t ‚ d S(   s[   Init with ndarray and copy=False and show that this is a reference
        to input ndarrayR=   i    RE   i   N(   R!   R(   R>   t   as_arrayR   (   R   R    R'   (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_ndarray_ref}   s     c           sÞ   |  j  | ƒ | |  j d d d  d g d d  d  d g ƒ‰  ˆ  j d d d g k sX t ‚ ˆ  d j j t j k sw t ‚ ˆ  d j j t j k s– t ‚ ˆ  d j j t j	 k sµ t ‚ t
 ‡  f d †  ˆ  j Dƒ ƒ sÚ t ‚ d  S(   NR"   R#   R%   R-   R0   RE   c         3  s"   |  ] } ˆ  | j  | k Vq d  S(   N(   R   (   R&   R   (   R'   (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pys	   <genexpr>Ž   s    (   R!   R(   t   NoneR)   R   R-   R1   R   R2   R4   R*   (   R   R    (    (   R'   sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_partial_names_dtype‡   s    -c           sÏ   |  j  | ƒ | |  j d d d  d g ƒ‰  ˆ  j d d d g k sI t ‚ ˆ  d j j t j k sh t ‚ ˆ  d j j t j k s‡ t ‚ ˆ  d j j t j k s¦ t ‚ t	 ‡  f d †  ˆ  j Dƒ ƒ sË t ‚ d  S(   NR"   R#   R%   RE   c         3  s"   |  ] } ˆ  | j  | k Vq d  S(   N(   R   (   R&   R   (   R'   (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pys	   <genexpr>—   s    (
   R!   R(   RJ   R)   R   R-   R1   R   R2   R*   (   R   R    (    (   R'   sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_partial_names_ref   s    (   R   R   RC   RG   RI   RK   RL   (    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRA   p   s
   			
		t   TestInitFromListOfListsc           B  s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C  sq   |  j  | ƒ t j d ƒ t j d ƒ f t d d d d d g d t j ƒ t j d d	 g d t j ƒg |  _ d  S(
   Ni   i   R   RE   R(   i   i   R-   i   (   R!   R   R2   R   R+   R(   (   R   R    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRC      s    !c           sc   |  j  | ƒ | |  j ƒ ‰  ˆ  j d d d g k s: t ‚ t ‡  f d †  ˆ  j Dƒ ƒ s_ t ‚ d  S(   NRD   RE   RF   c         3  s"   |  ] } ˆ  | j  | k Vq d  S(   N(   R   (   R&   R   (   R'   (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pys	   <genexpr>§   s    (   R!   R(   R)   R   R*   (   R   R    (    (   R'   sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRG   £   s    c           sÞ   |  j  | ƒ | |  j d d d  d g d d d  d g ƒ‰  ˆ  j d d d g k sX t ‚ ˆ  d j j t j k sw t ‚ ˆ  d j j t j	 k s– t ‚ ˆ  d j j t j
 k sµ t ‚ t ‡  f d †  ˆ  j Dƒ ƒ sÚ t ‚ d  S(	   NR"   R$   R%   R-   R/   R0   RE   c         3  s"   |  ] } ˆ  | j  | k Vq d  S(   N(   R   (   R&   R   (   R'   (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pys	   <genexpr>±   s    (   R!   R(   RJ   R)   R   R-   R1   R   R3   R2   R4   R*   (   R   R    (    (   R'   sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRK   ©   s    c      	   C  sF   |  j  | ƒ t j t ƒ $ | d d g d d d g g ƒ Wd  QXd  S(   Ni   i   i   i   i   (   R!   R6   R7   R8   (   R   R    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_bad_data³   s    (   R   R   RC   RG   RK   RN   (    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRM   š   s   			
t   TestInitFromListOfDictsc           B  s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C  s=   i d d 6d d 6d d 6i d d 6d d 6d d 6g |  _  d  S(	   Ni   R#   i   R$   i   R%   i   i   (   R(   (   R   R    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyR!   ½   s    c         C  s?   |  j  | ƒ | |  j ƒ } t d „  | j Dƒ ƒ s; t ‚ d  S(   Nc         s  s*   |  ]  } | t  d  d d g ƒ k Vq d S(   R#   R$   R%   N(   t   set(   R&   t   colname(    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pys	   <genexpr>Ä   s    (   R!   R(   R*   R)   R   (   R   R    R'   (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt
   test_namesÁ   s    c         C  sD   |  j  | ƒ | |  j d d ƒ} | j d d d g k s@ t ‚ d  S(   NR"   R%   R$   R#   (   R%   R$   R#   (   R!   R(   R)   R   (   R   R    R'   (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_names_orderedÆ   s    c      	   C  sZ   |  j  | ƒ t j t ƒ 8 | i d d 6d d 6d d 6i d d 6d d 6g ƒ Wd  QXd  S(   Ni   R#   i   R$   i   R%   i   (   R!   R6   R7   R8   (   R   R    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRN   Ë   s    (   R   R   R!   RR   RS   RN   (    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRO   º   s   			t   TestInitFromColsListc           B  s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C  s^   t  d d g d d d t j ƒt j d d g d t j ƒt j d d g d d	 ƒg |  _ d  S(
   Ni   i   R   t   xR-   i   i   i   t   i8(   R   R   R2   R+   R(   (   R   R    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyR!   Õ   s    c           sc   |  j  | ƒ | |  j ƒ ‰  ˆ  j d d d g k s: t ‚ t ‡  f d †  ˆ  j Dƒ ƒ s_ t ‚ d  S(   NRU   RE   RF   c         3  s"   |  ] } ˆ  | j  | k Vq d  S(   N(   R   (   R&   R   (   R'   (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pys	   <genexpr>Þ   s    (   R!   R(   R)   R   R*   (   R   R    (    (   R'   sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRG   Ú   s    c           sÞ   |  j  | ƒ | |  j d d d  d g d d d  d g ƒ‰  ˆ  j d d d g k sX t ‚ ˆ  d j j t j k sw t ‚ ˆ  d j j t j	 k s– t ‚ ˆ  d j j t j
 k sµ t ‚ t ‡  f d †  ˆ  j Dƒ ƒ sÚ t ‚ d  S(	   NR"   R$   R%   R-   R/   R0   RE   c         3  s"   |  ] } ˆ  | j  | k Vq d  S(   N(   R   (   R&   R   (   R'   (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pys	   <genexpr>ç   s    (   R!   R(   RJ   R)   R   R-   R1   R   R3   R2   R4   R*   (   R   R    (    (   R'   sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRK   à   s    -c         C  sQ   |  j  | ƒ | |  j d t ƒ} d | d d <|  j d d d k sM t ‚ d S(   sF   Test that initializing from a list of columns can be done by referenceR=   id   RU   i    N(   R!   R(   R>   R   (   R   R    R'   (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_refé   s    (   R   R   R!   RG   RK   RW   (    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRT   Ò   s   				t   TestInitFromNdarrayStructc           B  s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C  sO   t  j d d g d t d ƒ d f t d	 ƒ d
 f t d ƒ d f g ƒ|  _ d  S(   Ni   i   i   i   i   R-   RU   RV   t   yR.   t   z(   i   i   i   (   i   i   i   (   R   R+   t   strR(   (   R   R    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyR!   ô   s    		c           sÈ   |  j  | ƒ | |  j d t ƒ‰  d ˆ  d d <d ˆ  d d <|  j d d d k s[ t ‚ |  j d d d k sx t ‚ t j t j ˆ  ƒ |  j k ƒ sŸ t ‚ t ‡  f d †  ˆ  j Dƒ ƒ sÄ t ‚ d S(   s\   Init with ndarray and copy=False and show that table uses reference
        to input ndarrayR=   i    RU   i   RY   c         3  s"   |  ] } ˆ  | j  | k Vq d  S(   N(   R   (   R&   R   (   R'   (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pys	   <genexpr>  s    N(   R!   R(   R>   R   R   R*   R+   R)   (   R   R    (    (   R'   sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRI   ù   s    'c           sÞ   |  j  | ƒ | |  j d d d  d g d d d  d g ƒ‰  ˆ  j d d d g k sX t ‚ ˆ  d j j t j k sw t ‚ ˆ  d j j t j	 k s– t ‚ ˆ  d j j t j
 k sµ t ‚ t ‡  f d †  ˆ  j Dƒ ƒ sÚ t ‚ d  S(	   NR"   t   et   dR-   R/   R0   RY   c         3  s"   |  ] } ˆ  | j  | k Vq d  S(   N(   R   (   R&   R   (   R'   (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pys	   <genexpr>  s    (   R!   R(   RJ   R)   R   R-   R1   R   R3   R2   R4   R*   (   R   R    (    (   R'   sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRK     s    -c           sÕ   |  j  | ƒ | |  j d d d  d g d t ƒ‰  ˆ  j d d d g k sO t ‚ ˆ  d j j t j	 k sn t ‚ ˆ  d j j t j
 k s t ‚ ˆ  d j j t j	 k s¬ t ‚ t ‡  f d †  ˆ  j Dƒ ƒ sÑ t ‚ d  S(   NR"   R\   R]   R=   RY   c         3  s"   |  ] } ˆ  | j  | k Vq d  S(   N(   R   (   R&   R   (   R'   (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pys	   <genexpr>  s    (   R!   R(   RJ   R>   R)   R   R-   R1   R   t   int64R2   R*   (   R   R    (    (   R'   sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRL     s    $(   R   R   R!   RI   RK   RL   (    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRX   ñ   s   				t   TestInitFromDictc           B  s   e  Z d  „  Z RS(   c         C  s[   t  d t d d g d d ƒf d d d g f d	 t j d d
 g d d ƒf g ƒ |  _ d  S(   NR#   i   i   R   RU   R$   i   i   R%   i   R-   RV   (   R   R   R   R+   R(   (   R   R    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyR!     s    (   R   R   R!   (    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyR_     s   t   TestInitFromMappingc           B  s   e  Z d  „  Z RS(   c         C  sŒ   t  d t d d g d d ƒf d d d g f d	 t j d d
 g d d ƒf g ƒ |  _ t |  j t ƒ so t ‚ t |  j t ƒ sˆ t ‚ d  S(   NR#   i   i   R   RU   R$   i   i   R%   i   R-   RV   (	   R   R   R   R+   R(   t
   isinstanceR   R   R   (   R   R    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyR!   %  s
    *(   R   R   R!   (    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyR`   "  s   t   TestInitFromOrderedDictc           B  s   e  Z d  „  Z d „  Z RS(   c         C  s^   t  d t d d d d d g ƒ f d d d	 g f d
 t j d d g d d ƒf g ƒ |  _ d  S(   NR#   R   RU   R(   i   i   R$   i   i   R%   i   R-   RV   (   R   R   R   R+   R(   (   R   R    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyR!   0  s    !c         C  s>   |  j  | ƒ | |  j ƒ } | j d d d g k s: t ‚ d  S(   NR#   R$   R%   (   R!   R(   R)   R   (   R   R    R'   (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_col_order5  s    (   R   R   R!   Rc   (    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRb   -  s   	t   TestInitFromRowc           B  s   e  Z d  „  Z d „  Z RS(   c         C  sn   t  j d d g d t d ƒ d f t d	 ƒ d f t d
 ƒ d f g ƒ} | | d i d d g d 6ƒ|  _ d  S(   Ni   i   i   i   i   R-   RU   RV   RY   RZ   R0   t   metat   comment1t   comment2t   comments(   i   i   i   (   i   i   i   (   R   R+   R[   R(   (   R   R    t   arr(    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyR!   >  s    		6c           sB  |  j  | ƒ | |  j d ƒ ‰  ˆ  j d d d k s= t ‚ x> ˆ  j D]3 } t j ˆ  | |  j | d d !k ƒ sG t ‚ qG Wt ‡  f d †  ˆ  j Dƒ ƒ s£ t ‚ d ˆ  d d <d ˆ  j d d <t j ˆ  d t j d g ƒ k ƒ sí t ‚ t j |  j d t j d d	 g ƒ k ƒ st ‚ |  j j d d d
 k s>t ‚ d  S(   Ni    Rh   Rf   i   c         3  s"   |  ] } ˆ  | j  | k Vq d  S(   N(   R   (   R&   R   (   R'   (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pys	   <genexpr>L  s    i   RU   s   new comment2i   Rg   (   R!   R(   Re   R   R)   R   R*   R+   (   R   R    R   (    (   R'   sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_init_from_rowD  s    1%+1(   R   R   R!   Rj   (    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRd   ;  s   	t   TestInitFromTablec           B  sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C  sn   t  j d d g d t d ƒ d f t d	 ƒ d f t d
 ƒ d f g ƒ} | | d i d d g d 6ƒ|  _ d  S(   Ni   i   i   i   i   R-   RU   RV   RY   RZ   R0   Re   Rf   Rg   Rh   (   i   i   i   (   i   i   i   (   R   R+   R[   R(   (   R   R    Ri   (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyR!   Y  s    		6c           s  |  j  | ƒ | |  j ƒ ‰  ˆ  j d d d k s9 t ‚ d ˆ  d d <d ˆ  j d d <|  j j d d d k sx t ‚ t j ˆ  d t j d d g ƒ k ƒ s¦ t ‚ t j |  j d t j d d	 g ƒ k ƒ s× t ‚ ˆ  d
 j d
 k sð t ‚ t ‡  f d †  ˆ  j Dƒ ƒ st ‚ d  S(   NRh   i    Rf   i   RU   i   s   new comment2Rg   i   RZ   c         3  s"   |  ] } ˆ  | j  | k Vq d  S(   N(   R   (   R&   R   (   R'   (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pys	   <genexpr>i  s    (	   R!   R(   Re   R   R   R*   R+   R   R)   (   R   R    (    (   R'   sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_data_meta_copy_  s     .1c           sº   |  j  | ƒ | |  j d t ƒ‰  d ˆ  d d <ˆ  d d d k sJ t ‚ |  j d d d k sg t ‚ t j ˆ  j ƒ  |  j j ƒ  k ƒ s‘ t ‚ t ‡  f d †  ˆ  j Dƒ ƒ s¶ t ‚ d  S(   NR=   i    RU   i   c         3  s"   |  ] } ˆ  | j  | k Vq d  S(   N(   R   (   R&   R   (   R'   (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pys	   <genexpr>r  s    (   R!   R(   R>   R   R   R*   RH   R)   (   R   R    (    (   R'   sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_table_refk  s    *c           sÞ   |  j  | ƒ | |  j d d d  d g d d d  d g ƒ‰  ˆ  j d d d g k sX t ‚ ˆ  d j j t j k sw t ‚ ˆ  d j j t j	 k s– t ‚ ˆ  d j j t j	 k sµ t ‚ t
 ‡  f d †  ˆ  j Dƒ ƒ sÚ t ‚ d  S(	   NR"   R\   R]   R-   R/   RV   RY   c         3  s"   |  ] } ˆ  | j  | k Vq d  S(   N(   R   (   R&   R   (   R'   (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pys	   <genexpr>{  s    (   R!   R(   RJ   R)   R   R-   R1   R   R3   R^   R*   (   R   R    (    (   R'   sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRK   t  s    -c           sÕ   |  j  | ƒ | |  j d d d  d g d t ƒ‰  ˆ  j d d d g k sO t ‚ ˆ  d j j t j	 k sn t ‚ ˆ  d j j t j	 k s t ‚ ˆ  d j j t j
 k s¬ t ‚ t ‡  f d †  ˆ  j Dƒ ƒ sÑ t ‚ d  S(   NR"   R\   R]   R=   RY   c         3  s"   |  ] } ˆ  | j  | k Vq d  S(   N(   R   (   R&   R   (   R'   (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pys	   <genexpr>„  s    (   R!   R(   RJ   R>   R)   R   R-   R1   R   R^   R4   R*   (   R   R    (    (   R'   sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRL   }  s    $c         C  si   |  j  | ƒ | |  j ƒ } | | j d ƒ } | j d d d g k sM t ‚ | j j d k se t ‚ d  S(   NRZ   RU   RY   (   RZ   RU   RY   (   RZ   RU   RY   (   R!   R(   R   R)   R   R-   R"   (   R   R    R'   t   t2(    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_init_from_columns†  s
    c         C  si   |  j  | ƒ | |  j ƒ } | | j d d !ƒ } | j d d g k sM t ‚ | j j d k se t ‚ d  S(   Ni    i   RU   RY   (   RU   RY   (   R!   R(   R   R)   R   R-   R"   (   R   R    R'   Rn   (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_init_from_columns_slice  s
    c         C  ss   |  j  | ƒ | |  j ƒ } | | j d | j d g ƒ } | j d d g k sW t ‚ | j j d k so t ‚ d  S(   Ni    RZ   RU   (   RU   RZ   (   R!   R(   R   R)   R   R-   R"   (   R   R    R'   Rn   (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_init_from_columns_mix”  s
     (
   R   R   R!   Rl   Rm   RK   RL   Ro   Rp   Rq   (    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRk   V  s   										t   TestInitFromNonec           B  s   e  Z d  „  Z RS(   c         C  ss  t  j d d t d ƒ d d f t d ƒ d f g ƒ} x6i d d 6i d d 6d d f d f d 6i t d ƒ d d f t d ƒ d f g d 6i | j d 6f D]Ï } | |   } | j d d g k sÉ t ‚ t | d ƒ d k så t ‚ t | d ƒ d k st ‚ d | k rœ | d j j t  j k s,t ‚ | d j j t  j	 k sKt ‚ | d j
 d	 d k skt ‚ qœ qœ Wd
 S(   s?   
        Test different ways of initing an empty table
        i    R-   R#   R/   i   R$   R.   R"   i   N(   i   (   R#   R$   (   R#   R$   (   i   (   i   (   i   (   R   t   emptyR[   R-   R)   R   t   lenR1   R3   R2   t   shape(   R   R    t   np_tt   kwargsR'   (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_data_none_with_cols¡  s    +(   R   R   Rx   (    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRr   œ  s   t   table_typest   TestInitFromRowsc           B  s   e  Z d  „  Z d „  Z RS(   c      	   C  s6  xd d g d d g g d d g d d f f D]× } | d | d d ƒ } t  j | d d d g k ƒ sn t ‚ t  j | d d d g 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 j j j d
 ƒ s. t ‚ q. Wt  j d ƒ j	 d d ƒ } | d | d d d d d d g ƒ } t  j | d d d g k ƒ smt ‚ t  j | d d d g k ƒ s’t ‚ t  j | d d d g k ƒ s·t ‚ | j d d d g k sÕt ‚ | d j j j d ƒ sôt ‚ | d j j j d ƒ st ‚ | d j j j d ƒ s2t ‚ d  S(   Ni   R#   i   R$   t   rowsR"   t   it   St   Ut   1i   i   R%   R-   R0   R/   RV   i    i   i   (   i   R#   (   i   R$   (   i   R#   (   i   R$   (   R#   R$   (   R}   R~   (   R#   R$   R%   (
   R   R*   R   R)   R-   t   kindR[   t   endswithR   t   reshape(   R   R    R{   R'   (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_init_with_rows¸  s&    	%%#$%%%c      	   C  sS   t  j t ƒ & } | d d g g d d g g ƒ Wd  QXd t | ƒ k sO t ‚ d  S(   NR(   i   R{   s+   Cannot supply both `data` and `rows` values(   R6   R7   R8   R[   R   (   R   R    t   err(    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   test_init_with_rows_and_dataÐ  s    %(   R   R   Rƒ   R…   (    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyRz   µ  s   	c         C  s  xxt  t f D]j} t j d d d g f d d d g f g d t d ƒ d	 f t d
 ƒ d	 d f g ƒ} |  | d | ƒ} | j d d
 g k s” t ‚ | d j d k s­ t ‚ | d
 j d k sÆ t ‚ d | d d <d | d
 d d <| r3| t d ƒ d d k st ‚ | t d
 ƒ d d d k swt ‚ q | t d ƒ d d k sSt ‚ | t d
 ƒ d d d k s t ‚ q Wd S(   s­   
    Test that initializing from an ndarray structured array with
    a multi-dim column works for both copy=False and True and that
    the referencing is as expected.
    i   i
   i   i   i   i(   R-   R#   RV   R$   i   R=   i8ÿÿÿi    iœÿÿÿN(   i   (   i   (   i   i   (   R>   t   TrueR   R+   R[   R)   R   Ru   (   R    R=   t   ndR'   (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt'   test_init_and_ref_from_multidim_ndarrayÖ  s    * ' (    (    (    (    (#   t
   __future__R    t   collectionsR   R   t   externR   R6   t   numpyR   t   tableR   R   t   PY2R   R   R   R   t   markt   usefixturesR;   R@   RA   RM   RO   RT   RX   R_   R`   Rb   Rd   Rk   Rr   Rz   Rˆ   (    (    (    sB   lib/python2.7/site-packages/astropy/table/tests/test_init_table.pyt   <module>   sJ   	!$)'
E%%!