ó
]¹èZc           @   sj   d  d l  Z  d  d l Z d d l m Z d d l m Z e d „ Z e d „ Z	 d e f d	 „  ƒ  YZ
 d S(
   iÿÿÿÿNi   (   t   fitsi   (   t   FitsTestCasec   	      C   s*  |  j  t j ƒ } | j  t j ƒ } d } xª| j j D]œ} | } | | j j k r¯ | j ƒ  } | | j j k r¯ | j ƒ  } | | j j k r¬ t d j | ƒ ƒ ‚ q¬ q¯ n  | rá t	 j
 j d j | ƒ ƒ t	 j
 j d ƒ n  | | j | | j k r!| d 7} | rÓt	 j
 j d ƒ qÓq7 | rJt	 j
 j d ƒ t	 j
 j d ƒ n  t j | | j ƒ  | | j ƒ  k ƒ \ } | j d k rº| d 7} | rÓt	 j
 j d	 j | j | ƒ ƒ qÓq7 | r7 t	 j
 j d ƒ q7 q7 W| d k r | rüt	 j
 j d
 ƒ n  t S| r"t	 j
 j d j | ƒ ƒ n  t Sd S(   sY   
    Compare the values field-by-field in two sets of numpy arrays or
    recarrays.
    i    s"   field name {} not found in array 1s       testing field: '{}'
s           shape...........i   s   shapes differ
s   OK
s           elements........s(   
        {} elements in field {} differ
s   All tests passed
s   {} differences found
N(   t   viewt   npt   ndarrayt   dtypet   namest   lowert   uppert
   ValueErrort   formatt   syst   stdoutt   writet   shapet   wheret   ravelt   sizet   Truet   False(	   t   arr1int   arr2int   verboset   arr1t   arr2t   nfailt   n2t   n1t   w(    (    sD   lib/python2.7/site-packages/astropy/io/fits/tests/test_structured.pyt   compare_arrays   sJ    
,
	c         C   sr   t  j d d d d g ƒ } t  j j d ƒ d	 d d
 g | d <d d d g | d <t  j j | d j ƒ | d <| S(   Ni   t   f1t   i4t   f2t   S6t   f3s   >2f8i#   i   i   t   hellot   worldt   byebye(   R   R   (   R    R!   (   R"   s   >2f8(   R   t   zerost   randomt   seedR   (   R   t   st(    (    sD   lib/python2.7/site-packages/astropy/io/fits/tests/test_structured.pyt   get_test_data>   s    t   TestStructuredc           B   s   e  Z d  „  Z RS(   c         C   sÖ  |  j  d ƒ } t j | d d d t ƒ\ } } t j | d d d t ƒ\ } } t ƒ  } |  j d ƒ } t j | | d t ƒt j | | ƒ t j | | ƒ | j j	 s± t
 ‚ t j | d d d	 d
 g k ƒ sÙ t
 ‚ t j | d d d t ƒ\ } }	 t j | d d d t ƒ\ }
 } t j | d d	 d t ƒ\ } } t | | d t ƒsWt
 ‚ t | |
 d t ƒsrt
 ‚ t | | d t ƒst
 ‚ t j | d d d t d t j ƒ\ } } t | | d t ƒsÒt
 ‚ d  S(   Ns   stddata.fitst   exti   t   headeri   s	   test.fitst	   overwriteR   i   i   R   R   (   t   dataR    t   getdataR   R*   t   tempt   writetot   appendR   t   isnativet   AssertionErrorR   t   allR   R   (   t   selft   fnamet   data1t   h1t   data2t   h2R)   t   outfilet
   data1checkt   h1checkt
   data2checkt   h2checkt   stcheckt   sthcheckt   dataviewcheckt
   hviewcheck(    (    sD   lib/python2.7/site-packages/astropy/io/fits/tests/test_structured.pyt   test_structuredJ   s&    !!	(!!!(   t   __name__t
   __module__RF   (    (    (    sD   lib/python2.7/site-packages/astropy/io/fits/tests/test_structured.pyR+   I   s   (   R   t   numpyR   t   ioR    t    R   R   R   R*   R+   (    (    (    sD   lib/python2.7/site-packages/astropy/io/fits/tests/test_structured.pyt   <module>   s   3