ó
šßÈ[c           @   s)   d  d l  Z d d l m Z d „  Z d S(   iÿÿÿÿNi   (   t   np_utilsc    
   +   C   sM  t  d ƒ t j f t  d ƒ t j f t  d ƒ t j f t  d ƒ t j f t  d ƒ d f t  d ƒ d f t  d	 ƒ t j f t  d
 ƒ t j f g }  t j d d |  ƒ} t	 ƒ  } t	 ƒ  } x“ |  D]‹ \ } } x| |  D]t \ } } y8 t
 j | | | | g ƒ | j d j | | ƒ ƒ WqÑ t
 j k
 rD| j d j | | ƒ ƒ qÑ XqÑ Wq¾ Wt	 d d d d d d d d d d d d d d d d d d d  d! d" d# d$ d% d& d' d( d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 g* ƒ } | | k sét ‚ t	 d8 d9 d: d; d< d= d> d? d@ dA dB dC dD dE dF dG dH dI dJ dK dL dM g ƒ }	 | |	 k sIt ‚ dN S(O   s<   
    Test that allowed combinations are those expected.
    t   intt   uint8t   float32t   float64t   strt   S2t   unit   U2t   boolt   objecti   t   dtypes   {0} {1}s   str ints   str bools
   uint8 bools	   uint8 strs   object float32s   bool objects	   uni uint8s   int strs   bool strs   bool float64s   bool unis   str float32s   uni float64s
   uni objects
   bool uint8s   object float64s   float32 bools	   str uint8s   uni bools   float64 bools   float64 objects   int bools   uni ints   uint8 objects   int unis	   uint8 unis   float32 unis
   object unis   bool float32s   uni float32s
   object strs
   int objects   str float64s
   object ints   float64 unis   bool ints   object bools   object uint8s   float32 objects
   str objects   float64 strs   float32 strs   float64 ints   int ints   uint8 float64s	   uint8 ints   str unis   float32 float32s   float64 float64s   float64 uint8s   float64 float32s	   int uint8s   int float32s   uni strs   int float64s   uint8 float32s   float32 ints   float32 uint8s	   bool bools   uint8 uint8s   str strs   float32 float64s   object objects   uni uniN(   R   t   npR   R   R   R   R	   t   object_t   emptyt   setR    t   common_dtypet   addt   formatt   TableMergeErrort   AssertionError(
   R   t   arrt   failt   succeedt   name1t   type1t   name2t   type2t   badt   good(    (    s@   lib/python2.7/site-packages/astropy/table/tests/test_np_utils.pyt   test_common_dtype   sD    		%(   t   numpyR   t    R    R   (    (    (    s@   lib/python2.7/site-packages/astropy/table/tests/test_np_utils.pyt   <module>   s   