ó
šßÈ[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 d d	 l m Z m Z m Z m Z m Z d d
 l m Z d d l m Z d d l m Z y d  d l Z e Z Wn e k
 re  Z n Xe j! e j" d d d d d ƒZ# e j! e j" d d d d d d ƒZ$ e j! e j" d d d d d d d d ƒZ% e j! e j" d d d d d ƒZ& d „  Z' d „  Z( d f  d „  ƒ  YZ) d f  d „  ƒ  YZ* d f  d „  ƒ  YZ+ d f  d „  ƒ  YZ, d f  d  „  ƒ  YZ- d! „  Z. d" „  Z/ d# „  Z0 d$ „  Z1 d% „  Z2 d& „  Z3 d' „  Z4 d( „  Z5 d) „  Z6 e	 d* „  ƒ Z7 d+ „  Z8 d, „  Z9 d- „  Z: d. „  Z; d/ „  Z< d0 „  Z= d1 „  Z> d2 „  Z? d3 „  Z@ d4 „  ZA e jB jC d5 ƒ d6 „  ƒ ZD d7 „  ZE d8 „  ZF d9 „  ZG d: „  ZH d S(;   iÿÿÿÿN(   t   deepcopyi   (   t   catch_warningst   remote_data(   t   six(   t   zip(   t
   isiterablei   (   t   Timet   ScaleValueErrort   TIME_SCALESt
   TimeStringt   TimezoneInfo(   t   EarthLocation(   t   units(   t   _erfat   rtolg       @iÌÿÿÿt   atoli    i   i  g        c         C   s   t  t j ƒ |  _ d  S(   N(   R    R   t   FORMATSt   FORMATS_ORIG(   t   func(    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   setup_function$   s    c         C   s$   t  j j ƒ  t  j j |  j ƒ d  S(   N(   R   R   t   cleart   updateR   (   R   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   teardown_function(   s    t	   TestBasicc           B   s¼   e  Z d  Z d „  Z d „  Z e j j d d d g g ƒ 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(   s;   Basic tests stemming from initial example and API referencec         C   s?  d d g } t  | d d d d ƒ} t | ƒ d k s< t ‚ t | j t j d d	 g ƒ ƒ sc t ‚ t | j t j d d
 g ƒ ƒ sŠ t ‚ | j	 } t | ƒ d k s« t ‚ t | j t j d d	 g ƒ ƒ sÒ t ‚ t | j t j d d g ƒ ƒ sù t ‚ t | j
 ƒ d k st ‚ t | j t j d d g ƒ ƒ s;t ‚ d  S(   Ns   1999-01-01 00:00:00.123456789s   2010-01-01 00:00:00t   formatt   isot   scalet   utcsc   <Time object: scale='utc' format='iso' value=['1999-01-01 00:00:00.123' '2010-01-01 00:00:00.000']>g    v³BAg    O»BAg      à¿gšÎ"ýù·>sc   <Time object: scale='tai' format='iso' value=['1999-01-01 00:00:32.123' '2010-01-01 00:00:34.000']>g)uË²Á]8?g<6Û*%Ê9?sb   <Time object: scale='tt' format='iso' value=['1999-01-01 00:01:04.307' '2010-01-01 00:01:06.184']>gÏWë<~Ag /Â^’¶Ag·€»úÿß¿g#M“èùß¿g2Iµvùß¿(   R   t   reprt   AssertionErrort   allclose_jdt   jd1t   npt   arrayt   allclose_jd2t   jd2t   tait   ttt   allclose_sect   cxcsec(   t   selft   timest   t(    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_simple0   s    '	'c         C   sC  d \ } } t  | | d d ƒ} | j t k r? | j d k sE t ‚ t j d d ƒ } t  | d d ƒ} | j t k rŠ | j | j k s t ‚ d } t  | | d d ƒ} | j t k rÌ | j | j k sÒ t ‚ t j d ƒ d j d	 d
 ƒ } t  | | d d ƒ} | j t k st ‚ | j t j	 | | ƒ j k s?t ‚ d S(   s+   Test scalars, vector, and higher-dimensionsg    (±BAg      À?R   t   jdg    -±BAg        g      @g      $@i   i   N(   g    (±BAg      À?(    (
   R   t   isscalart   Truet   shapeR   R    t   aranget   Falset   reshapet	   broadcast(   R(   t   valt   val1t   t1t   t2t   val2t   t3t   t4(    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_different_dimensionsM   s    $''t   valueg   ÀN»BAc         C   s¬  t  | d d d d ƒ} t  | d t ƒ} t j | j | j d k ƒ sO t ‚ t j | | j d k ƒ sq t ‚ | j j | j j k s t ‚ | j j | j j k s­ t ‚ t  | d t	 ƒ} t j | j | j d k ƒ sä t ‚ t j | | j d k ƒ st ‚ | j j | j j k	 s$t ‚ | j j | j j k	 sBt ‚ t  | d d d d d	 d
 ƒ} | j
 d k sut ‚ t  | d d d d d d ƒ} | j
 d k s¨t ‚ d S(   sb   Test copying the values of a Time object by passing it into the
        Time initializer.
        R   R,   R   R   t   copyi    R   R$   t	   precisioni   s   2010-01-01 00:00:34.0t
   out_subfmtt   dates
   2010-01-01N(   R   R1   R    t   allR,   R   t   _timeR   R#   R.   R<   (   R(   R<   R*   R7   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_copy_timea   s    %"%"c         C   sA  t  j d d ƒ } t | d d d d d d ƒ} | d
 } | j t k sO t ‚ | j j | j j d
 k sq t ‚ | j | j k s‰ t ‚ t | d
 d d d d ƒ} | j t k sº t ‚ t  j	 | j j | j j k ƒ sá t ‚ t | d
 ƒ } | j t k st ‚ t  j	 | j j | j j k ƒ s-t ‚ | d d !} | j t
 k sOt ‚ t  j	 | j j | j j d d !k ƒ s}t ‚ | j | j k s•t ‚ t | d d !ƒ } | j t
 k s½t ‚ t  j	 | j j | j j d d !k ƒ sët ‚ t | d | d g ƒ } | j t
 k st ‚ t  j	 | j j | j j d d !k ƒ sHt ‚ t | d | d f ƒ }	 |	 j t
 k swt ‚ t  j	 |	 j j | j j d d !k ƒ s¥t ‚ t  j t | ƒ ƒ | _ | d d !}
 t  j	 |
 j | j d d !k ƒ sòt ‚ t | d d d d d t  j t | ƒ ƒ t  j t | ƒ ƒ f ƒ} | d
 } | j | j d
 k sZt ‚ | d d !} t  j	 | j | j d d !k ƒ st ‚ t  j d d | j j ƒ} | j j t  j ƒ d | k sÏt ‚ | j j t  j ƒ d | k sôt ‚ | | j j t  j ƒ d <| j j t  j ƒ d | k s2t ‚ t  j d d d ƒ } t | d d … t  j f | d d d d d d ƒ} | d j j | j j d k s¢t ‚ | d j t k s»t ‚ t  j	 | d j j | j j d k ƒ sêt ‚ t  j	 | d j j | j j d k ƒ st ‚ t  j	 | d d … d f j j | j j d d … d f k ƒ s`t ‚ t  j	 | d d … d f j j | j j d d … d f k ƒ s§t ‚ t  j	 | d d … d f j j | j j k ƒ sÞt ‚ t  j	 | d d … d f j j | j j k ƒ st ‚ | j } | d j | j d k s>t ‚ t  j	 | d j | j d k ƒ sgt ‚ t  j	 | d d … d f j | j d d … d f k ƒ s¨t ‚ d | _ | j } | d j d k sÓt ‚ | d j d k sìt ‚ | d d … d f j d k st ‚ t | d d … t  j f | d d d d d t  j t | ƒ ƒ t  j t | ƒ ƒ f ƒ} | d  j | j d! k sŠt ‚ t  j	 | d j | j d k ƒ s³t ‚ t  j	 | d d … d f j | j d d … d f k ƒ sôt ‚ | d  } | j t
 k st ‚ | j d" k s(t ‚ | j d k s=t ‚ d S(#   s   Test that Time objects holding arrays are properly subscriptable,
        set isscalar as appropriate, and also subscript delta_ut1_utc, etc.iPÃ  iZÃ  R   t   mjdR   R   t   locationt   45dt   50di   i   i   i   g        t   dtypeiÿÿÿÿg+‡ÙÎ÷ï?gš™™™™™É?Ni    i   gš™™™™™¹?(   RF   RG   (   g        g        g        (   RF   RG   (   i    i    (   i    i    (   i    i    (   i    i    (   i    i    (   i    i    (   i    i    (   i    i    (   i    (   R    R0   R   R-   R.   R   RB   R   RE   RA   R1   t   lent   delta_tdb_ttt   _delta_tdb_ttR!   RH   t   viewt   ndarrayt   newaxisR#   t   tdbR/   t   size(   R(   RD   R*   R6   t   t1at   t1bR7   t   t2at   t2bt   t2cR9   R:   t   t5t   t6t   allzerost   fract   t7t   t7_tdbt   t7_tdb2t   t8t   t9(    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_getitemz   sˆ    
"''....(-
(%%%,	&//GG77	 )A		%,- )A
c         C   s<  t  d d d d d ƒ} d | _ t | j d ƒ s9 t ‚ | j d k sN t ‚ | j j d	 k sf t ‚ | j j d
 k s~ t ‚ t | j	 j d ƒ s™ t ‚ t | j
 j d ƒ s´ t ‚ | j j d k sÌ t ‚ t | j d ƒ sä t ‚ t | j d ƒ sü t ‚ t | j d ƒ st ‚ | j t j d d d ƒ k s8t ‚ d S(   s  Use properties to convert scales and formats.  Note that the UT1 to
        UTC transformation requires a supplementary value (``delta_ut1_utc``)
        that can be obtained by interpolating from a table supplied by IERS.
        This is tested separately.s   2010-01-01 00:00:00R   R   R   R   g‹ýe÷äaÕ?g   ÀN»BAs   2010-01-01 00:00:00.000s   2010-01-01 00:01:06.184s   2010-01-01T00:00:34.000(TAI)gp  ÀN»BAs   2010-01-01T00:01:06.910g   ÀNÏÒAg /Â^’¶Ag  €Çþ3ÌAiÚ  i   N(   R   t   delta_ut1_utcR   R,   R   R   R%   R$   t   fitsR   t   ut1t   tcgt   isotR&   t   unixR'   t   gpst   datetime(   R(   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_propertiesÊ   s    	c         C   sj   t  d d d d d ƒ} | j d k s- t ‚ d | _ | j d k sK t ‚ | j j j d k sf t ‚ d	 S(
   sŸ   Set the output precision which is used for some formats.  This is
        also a test of the code that provides a dict for global and instance
        options.s   2010-01-01 00:00:00R   R   R   R   s   2010-01-01 00:00:00.000i	   s   2010-01-01 00:00:00.000000000N(   R   R   R   R>   R$   R   (   R(   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_precisionÞ   s
    	c         C   së   d } d } t  d d d d d d d	 d
 | | f ƒ} d | _ | j j d k sW t ‚ | j j d k so t ‚ | j j d k s‡ t ‚ | j j d k sŸ t ‚ | j j d k s· t ‚ | j	 j d k sÏ t ‚ | j
 j d k sç t ‚ d S(   s¢   Transform from UTC to all supported time scales (TAI, TCB, TCG,
        TDB, TT, UT1, UTC).  This requires auxiliary information (latitude and
        longitude).g33333{3@g=bôÜ}cÀs   2006-01-15 21:24:37.5R   R   R   R   R>   i   RE   g‹ýe÷äaÕ?s   2006-01-15 21:24:37.500000s   2006-01-15 21:24:37.834100s   2006-01-15 21:25:10.500000s   2006-01-15 21:25:42.684000s   2006-01-15 21:25:43.322690s   2006-01-15 21:25:42.684373s   2006-01-15 21:25:56.893952N(   R   R`   R   R   R   Rb   R$   R%   Rc   RO   t   tcb(   R(   t   latt   lonR*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_transformsì   s    	c         C   s$  d } d } t  d g d d d d d d	 d
 | | f ƒ} t | j t ƒ sQ t ‚ t | | ƒ } t  d g d d d d d d	 d
 | ƒ} t | j t ƒ sŸ t ‚ | j | j k s· t ‚ t  d g d d d d d d	 d
 | j | j | j f ƒ} t | j t ƒ st ‚ | j | j k s t ‚ d S(   su   Check that location creates an EarthLocation object, and that
        such objects can be used as arguments.
        g33333{3@g=bôÜ}cÀs   2006-01-15 21:24:37.5R   R   R   R   R>   i   RE   N(   R   t
   isinstanceRE   R   R   t   xt   yt   z(   R(   Rk   Rl   R*   RE   R7   R9   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_locationþ   s    !c   	      C   s¶  d } d } t  d g d d d d d d	 d
 d | | f ƒ} t j | j j d k ƒ s^ t ‚ t j | j j d d k ƒ sƒ t ‚ t  d g d d d d d d	 d
 d t j | d g ƒ t j | d g ƒ f ƒ} t j | j j d k ƒ só t ‚ | j j d d k st ‚ | j j d d k s+t ‚ t j	 t
 ƒ K t  d d d d d d	 d
 d t j | d g ƒ t j | d g ƒ f ƒWd QXt j	 t
 ƒ R t  d g d d d d d d	 d
 d t j | d g ƒ t j | d g ƒ f ƒWd QXt j d d ƒ j d d ƒ } t  | d d d d d | | f ƒ} | j d k sAt ‚ | j j d k sYt ‚ | j j | j k stt ‚ t  | d d d d d t j | d g ƒ t j | d g ƒ f ƒ} | j d k sËt ‚ | j j | j k sæt ‚ | j j | j k st ‚ t  | d d d d d t j | g d g d g d g g ƒ t j | g d g d g d g g ƒ f ƒ} | j d k s|t ‚ | j j | j k s—t ‚ | j j | j k s²t ‚ d S(   sË   Check that location arrays are checked for size and used
        for the corresponding times.  Also checks that erfa
        can handle array-valued locations, and can broadcast these if needed.
        g33333{3@g=bôÜ}cÀs   2006-01-15 21:24:37.5i   R   R   R   R   R>   i   RE   s   2006-01-15 21:24:37.500000i    s   2006-01-15 21:25:42.684373i   Ni   g     jè@g     kè@i   RD   (   i   i   (    (   i   i   (   i   i   (   R   R    RA   R   R   R   RO   R!   t   pytestt   raisest
   ValueErrorR0   R2   R/   RE   (	   R(   Rk   Rl   R*   R7   RD   R9   R:   RV   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_location_array  sH    !%!$-$-c      
   C   s   d } d } x| t  D]t } t d d d d | d | | f ƒ} xG t  D]? } t | | ƒ } t | | ƒ } t | j | j ƒ sD t ‚ qD Wq Wd S(	   s_   Test that all transforms work.  Does not test correctness,
        except reversibility [#2074]g33333{3@g=bôÜ}cÀs   2006-01-15 21:24:37.5R   R   R   RE   N(   R   R   t   getattrR   R,   R   (   R(   Rk   Rl   t   scale1R6   t   scale2R7   t   t21(    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_all_transforms=  s    c         C   sÛ  t  d d d ƒt  d d d ƒt  d d d ƒt  d d d ƒt  d d d	 d
 d ƒt  d d d d
 d ƒt  d d d d
 d ƒt  d d d d
 d ƒt  d d d d
 d ƒt  d d d d
 d ƒt  d d d d
 d ƒt  d d d d
 d ƒt  d d d ƒt  d d d d
 d ƒt  d d d ƒt  d d d d d
 d ƒt  d d d d  d
 d ƒt  d! d d" d
 d ƒt  d# d d" d
 d ƒt j d$ d% d& d' d( d) d* ƒ } t  | d d+ d
 d ƒt  | | g d d+ d
 d ƒd, S(-   s.   Create a time object using each defined formatg     BŸ@R   t   decimalyearg      Y@R'   Re   Rf   g     xž@t   byearR   R$   g     @Ÿ@t   jyears   B1950.0t	   byear_strs   J2000.0t	   jyear_strs   2000-01-01 12:23:34.0R   s   2000-01-01 12:23:34.0ZR   s   2000-01-01T12:23:34.0Rd   s   2000-01-01T12:23:34.0ZRa   RO   s   2000-01-01T12:23:34.0(TDB)g   @€OBAghä˜+é@R,   g        RD   s   2000:001:12:23:34.0t   ydays   2000:001:12:23:34.0ZiÐ  i   i   i   i   i   i@â Rg   N(   R   Rg   (   R(   t   dt(    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_creating_all_formatsJ  s,    !c      	   C   si  t  j  d d d d d d d ƒ } t  j  d d d ƒ } t | d	 d
 d d ƒ} | j d k sc t ‚ | j  | k sx t ‚ | j | k s t ‚ t | j d	 d
 ƒ} | j  | k s· t ‚ t | | g d	 d
 ƒ} t j | j | | g k ƒ só t ‚ t d d	 d ƒ} | j  t  j  d d d d d d d ƒ k s5t ‚ | | | t j d ƒ j d d ƒ } t | d	 d
 ƒ} | j	 d k sƒt ‚ | d j | d k s t ‚ | d t | d ƒ k sÀt ‚ t j | j | k ƒ sÞt ‚ t j | d j | d k ƒ st ‚ t j | d d … d f t | d d … d f ƒ k ƒ sEt ‚ t | d ƒ | d k set ‚ d S(   sŽ   
        Test datetime format, including guessing the format from the input type
        by not providing the format keyword to Time.
        iÐ  i   i   i   i   i   i@â iÑ  R   R   R>   i	   s   2000-01-02 03:04:05.123456000s   2000-01-01 01:01:01.123456789R$   iAâ i   Ni    (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i    (   i   i    (
   Rg   R   R   R   R<   R    RA   R0   R2   R/   (   R(   R‚   t   dt2R*   R7   t   dt3R9   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_datetimec  s*    !$0' &Ac         C   s<  d } t  | d d d d d d ƒ} t | j d ƒ s< t ‚ t | j d	 ƒ sT t ‚ | j d
 k si t ‚ | j d k s~ t ‚ t  | j d d d d ƒ} t | j | ƒ s± t ‚ t  | j d d d d ƒ} t | j | ƒ sä t ‚ t  d d d d d ƒ} t	 j
 | j | d d d d ƒs#t ‚ | j d
 k s8t ‚ d S(   s%   Besselian and julian epoch transformsg„*5‡ø¾BAR   R,   R   R$   R>   i   gSß‹|Ÿ@g2T°;Š|Ÿ@s   B2015.136594s   J2015.134993R}   R~   R   g»½×Ùß|Û=R   i    N(   R   t   allclose_yearR}   R   R~   R   R€   R   R,   R    t   allclose(   R(   R,   R*   R7   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_epoch_transform‚  s    'c         C   s‡  d d g } t  j t ƒ  t | d d d d ƒWd QXt  j t ƒ  t d d d	 d d ƒWd QXt  j t ƒ $ t d
 g d g d d d d ƒWd QXt  j t ƒ  t d
 d d d d d ƒWd QXt  j t ƒ  t d d d ƒWd QXt  j t ƒ  t t j d d	 d d ƒWd QXt  j t ƒ  t d d d ƒWd QXt  j t ƒ  t d ƒ Wd QXt  j t ƒ  t d ƒ Wd QXd S(   s   Wrong input type raises errori
   i   R   R   R   R   Ns   2000:001R,   g     jè@t   badRD   R$   s   2005-08-04T00:01:02.000Zs   2000-01-02T03:04:05(TAI)s   2000-01-02T03:04:05(TAIs   2000-01-02T03:04:05(UT(NIST)(   Rs   Rt   Ru   R   R    t   nan(   R(   R)   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_input_validation“  s&    %c   	      C   s¯  x¨d d f D]š\ } } } d j  | | ƒ } d j  | | | ƒ } t | d	 d
 d ƒ} | j | d k sr t ‚ t | d d
 d ƒ} | j | d k s¡ t ‚ t | d d
 d ƒ} | j | d k sÐ t ‚ t | d d
 d ƒ} | j | d k sÿ t ‚ | d k rd j  | ƒ } n d j  | d ƒ } t | d d
 d ƒ} | j | d k s_t ‚ t | d d
 d ƒ} t | d d
 d ƒ} t | | j d ƒ s t ‚ q Wd S(   sl   Time behaves properly near or in UTC leap second.  This
        uses the 2012-06-30 leap second for testing.iÜ  i   i   ià  i   i   s   {:04d}-{:02d}s   {:04d}-{:02d}-{:02d}s   -01 23:59:60.0R   R   s   -02 00:00:00.000s    23:59:59.900s    23:59:60.000s    23:59:60.999s   {:04d}-07-01s   {:04d}-01-01i   s    23:59:61.0s    00:00:00.000s	    23:59:59s	    00:00:00g       @N(   iÜ  i   i   (   ià  i   i   (   R   R   R   R   R&   t   sec(	   R(   t   yeart   montht   dayt   yyyy_mmt
   yyyy_mm_ddR6   t   yyyy_mm_dd_plus1t   t0(    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_utc_leap_secª  s&    c         C   s  t  d d d ƒ} t  d d g d d ƒ} t  | | g ƒ } t | ƒ d k sT t ‚ | j | j k sl t ‚ | j | j k s„ t ‚ t j | j t j | j	 g | j
 j	 g ƒ k ƒ s½ t ‚ t  | ƒ } | j sØ t ‚ | j | j k sð t ‚ | j | j k st ‚ t j | j | j k ƒ s)t ‚ t  | d d ƒ} | j d k sPt ‚ t j | j | j j k ƒ stt ‚ t  | | g d d ƒ} | j d k s¡t ‚ | j | j k s¹t ‚ t j | j t j | j j	 g | j j	 g ƒ k ƒ sõt ‚ t j d	 d
 ƒ } t j d d d ƒ } t  | d d … t j f | d d d d ƒ} t  | d  | d d !g ƒ } | j d k s}t ‚ d S(   s(   Initialize from one or more Time objectss   2007:001R   R$   s
   2007-01-02s
   2007-01-03R   i   R%   g     jè@g    Àjè@g        g+‡ÙÎ÷ï?gš™™™™™É?NR   RD   i   i   i   (   i   i   (   R   RI   R   R   R   R    RA   R<   t   concatenateR   R$   R-   R   R%   R0   RN   R/   (   R(   R6   R7   R9   RD   RY   R:   RV   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_init_from_time_objectsË  s0    9!$</(   t   __name__t
   __module__t   __doc__R+   R;   Rs   t   markt   parametrizeRC   R_   Rh   Ri   Rm   Rr   Rv   R{   Rƒ   R†   R‰   RŒ   R•   R—   (    (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyR   -   s"   		'	P					,						!t   TestVal2c           B   s)   e  Z d  Z d „  Z d „  Z d „  Z RS(   s   Tests related to val2c         C   s.   t  d d d d ƒ} | j d k s* t ‚ d S(   s*   Test that val2 is ignored for string inputs   2001:001t   ignoredR   R   s   2001:001:00:00:00.000N(   R   R   R   (   R(   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_val2_ignoredõ  s    c         C   sk   t  d d g d d g d d d d ƒ} | j d | j d k sG t ‚ | j d | j d k sg t ‚ d	 S(
   s   Various tests of the val2 inputg        g     jè@R   RD   R   R$   i    i   N(   R   RD   R   R,   (   R(   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt	   test_val2ú  s    ' c         C   s¬   t  j d d ƒ } t  j d d d ƒ } t | d  d  … t  j f | d d d d	 ƒ} | j d k sj t ‚ t j t ƒ - t d d g d d d g d d d d ƒWd  QXd  S(   Ng     jè@g    àjè@g        g+‡ÙÎ÷ï?gš™™™™™É?R   RD   R   R   i   i   g      ð?g       @R$   (   i   i   (	   R    R0   R   RN   R/   R   Rs   Rt   Ru   (   R(   RD   RY   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt    test_val_broadcasts_against_val2   s    .(   R˜   R™   Rš   RŸ   R    R¡   (    (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyR   ò  s   		t   TestSubFormatc           B   sq   e  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(   s-   Test input and output subformat functionalityc         C   s¾   d d d d g } t  | d d d d ƒ} t j | j t j d	 d
 d d g ƒ k ƒ s] t ‚ d d d g } t  | d d d d d d ƒ} t j | j t j d
 d d g ƒ k ƒ sº t ‚ d S(   s   Input subformat selections
   2000-01-01s   2000-01-01 01:01s   2000-01-01 01:01:01s   2000-01-01 01:01:01.123R   R   R   R$   s   2000-01-01 00:00:00.000s   2000-01-01 01:01:00.000s   2000-01-01 01:01:01.000t	   in_subfmts   date_*N(   R   R    RA   R   R!   R   (   R(   R)   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_input_subformat  s    	c         C   s6   t  j t ƒ ! t d d d d d d d ƒWd QXd S(	   s   Failed format matchings   2000-01-01 01:01R   R   R   R$   R£   R@   N(   Rs   Rt   Ru   R   (   R(   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_input_subformat_fail   s    c         C   s6   t  j t ƒ ! t d d d d d d d ƒWd QXd S(	   s   Non-existent input subformats   2000-01-01 01:01R   R   R   R$   R£   s   doesnt existN(   Rs   Rt   Ru   R   (   R(   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_bad_input_subformat&  s    c         C   sg   d d d d g } t  | d d d d d	 d
 ƒ} t j | j t j d d d d g ƒ k ƒ sc t ‚ d S(   s   Input subformat selections
   2000-01-01s   2000-01-01 01:01s   2000-01-01 01:01:01s   2000-01-01 01:01:01.123R   R   R   R$   R?   t   date_hms   2000-01-01 00:00N(   R   R    RA   R   R!   R   (   R(   R)   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_output_subformat,  s    	c         C   sG  d d d g } t  | d d d d ƒ} t j | j t j d d	 d
 g ƒ k ƒ sW t ‚ t  | d d d d ƒ} t j | j t j d d d g ƒ k ƒ sŸ t ‚ d | d <t  | d d d d ƒ} t j | j t j d d d g ƒ k ƒ sñ t ‚ d | d <t  | d d d d ƒ} t j | j t j d d d g ƒ k ƒ sCt ‚ d S(   s"   FITS format includes bigger years.s
   2000-01-01s   2000-01-01T01:01:01s   2000-01-01T01:01:01.123R   Ra   R   R$   s   2000-01-01T00:00:00.000(TAI)s   2000-01-01T01:01:01.000(TAI)s   2000-01-01T01:01:01.123(TAI)R?   s   long*s   +02000-01-01T00:00:00.000(UTC)s   +02000-01-01T01:01:01.000(UTC)s   +02000-01-01T01:01:01.123(UTC)s   -00594-01-01i   s   +02000-01-01T00:00:00.000(TAI)s   +02000-01-01T01:01:01.000(TAI)s   -00594-01-01T00:00:00.000(TAI)s   +10594-01-01s   +10594-01-01T00:00:00.000(TAI)N(   R   R    RA   Ra   R!   R   (   R(   R)   R*   R7   R9   R:   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_fits_format8  s&    

c         C   s”   d d g } t  | d d d d ƒ} d | _ t j | j t j d d	 g ƒ k ƒ sZ t ‚ d
 | _ t j | j t j d d g ƒ k ƒ s t ‚ d S(   s   Year:Day_of_year formats
   2000-12-01s   2001-12-01 01:01:01.123R   R   R   R$   R§   s   2000:336:00:00s   2001:335:01:01t   *s   2000:336:00:00:00.000s   2001:335:01:01:01.123N(   R   R?   R    RA   R   R!   R   (   R(   R)   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_yday_formatR  s    		c      
   C   sÝ   t  d d d d d ƒ} | j d k s- t ‚ t  d d d d d ƒ} | j d k sZ t ‚ t  d d d d d ƒ} | j d k s‡ t ‚ t j t ƒ  t  d	 d d
 d d ƒWd QXt j t ƒ  t  d d d ƒWd QXd S(   s&   Test for issues related to scale inputg      Y@R   R'   R   R   Re   R$   Rf   g     xž@R}   s	   bad scaleNs   2000:001:00:00:00(   R   R   R   Rs   Rt   R   (   R(   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_scale_input^  s    c      
   C   s  t  d ƒ } | j d k s! t ‚ t  d ƒ } | j d k sB t ‚ t  d d d ƒ} | j d k si t ‚ t j t ƒ  t  d d d ƒWd QXt j t ƒ  t  d d g ƒ Wd QXt j t ƒ  t  d d	 g ƒ Wd QXt j t ƒ  t  d
 d g ƒ Wd QXd S(   s<   Test that scale gets interpreted correctly for FITS strings.s   2000-01-02(TAI)R$   s   2000-01-02(IAT)s   2045-11-08T00:00:00.000(UTC)R   R   Ns   2001-02-03(UTC)s   2001-02-03(IAT)s   2000-01-02(ET(NIST))s   2001-02-03(ET)(   R   R   R   Rs   Rt   Ru   (   R(   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_fits_scaleq  s    c         C   s:   t  d ƒ } | j d k s! t ‚ | j d k s6 t ‚ d  S(   Ns!   1960-01-02T03:04:05.678(ET(NIST))R%   (   R   R   R   R<   (   R(   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_fits_scale_representation‡  s    c         C   sÒ   t  d d d ƒ} | j d k s' t ‚ t  d d d ƒ} | j d k sN t ‚ t  d d d ƒ} | j d k su t ‚ x/ d D]' } t  | ƒ } | j d k s| t ‚ q| Wt  d d d ƒ} | j d k sÎ t ‚ d S(   s'   Test behavior when no scale is providedg      Y@R   R'   R%   Re   R   Rf   R$   t   J2000s   2000:001s   2000-01-01T00:00:00gfffff@Ÿ@R}   N(   R¯   s   2000:001s   2000-01-01T00:00:00(   R   R   R   (   R(   R*   R@   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_scale_defaultŒ  s    c         C   sC  t  d d d d d ƒ} | j j d k s0 t ‚ t  | d d d d ƒ} | j d k s] t ‚ d	 } t  | d d d d
 ƒ} t | j | ƒ s“ t ‚ t | j | ƒ s« t ‚ t | j j | ƒ sÆ t ‚ t | j j | ƒ sá t ‚ | j d k sö t ‚ t  d d d
 ƒ} t | j | ƒ s t ‚ t | j j | ƒ s;t ‚ t  d d d
 ƒ} t j	 | j
 d d d d d ƒstt ‚ xY d D]Q } t  d d | ƒ} t  | j d | d d ƒ} t | | ƒ j d k s{t ‚ q{Wt  d d d
 ƒ} t | j d ƒ sút ‚ t | j j d ƒ st ‚ t  d d d
 ƒ} t | j d ƒ s?t ‚ d S(   s,   Test time formats derived from EpochFromTimeg        R   R'   R   R$   s   1998-01-01 00:00:00.000R%   R   g /Â^’¶AR   s   2010:001:00:00:00.000s   2000-01-01 00:00:00g    H&AR   gñhãˆµøä>R   i    s   2000:001Re   s   2000-01-01 00:00:00.000s   2013-05-20 21:18:46g  €Í¤fÔAs   2004-09-16T23:59:59g  À?ŠRÐAN(   R   R%   (   R   R%   R   R   R<   R&   R'   R   R    Rˆ   t	   plot_dateRe   Rw   (   R(   R*   R7   t   t_cxcsecR   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_epoch_times  s2    '"(   R˜   R™   Rš   R¤   R¥   R¦   R¨   R©   R«   R¬   R­   R®   R°   R³   (    (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyR¢   	  s   										t   TestSofaErrorsc           B   s   e  Z d  Z d „  Z RS(   s9   Test that erfa status return values are handled correctlyc      
   C   sl  t  j d g d t  j ƒ} t  j d g d t  j ƒ} t  j d g d t  j ƒ} t j t ƒ   t j | | | ƒ \ } } Wd  QXd | d <d | d <t j t ƒ   t j | | | ƒ \ } } Wd  QXd | d <t ƒ  " } t j | | | ƒ \ } } Wd  QXt	 | ƒ d k st
 ‚ d t j | d j ƒ k s8t
 ‚ t | d g ƒ sPt
 ‚ t | d	 g ƒ sht
 ‚ d  S(
   NiÐ  RH   ixìÿÿi    i   i   s   bad day    (JD computed)g   @€OBAg    À(ê@(   R    R!   t   intcRs   Rt   Ru   t   erfat   cal2jdR   RI   R   R   t	   text_typet   messageR   (   R(   t   iyt   imt   idt   djm0t   djmt   w(    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_bad_timeË  s     !

!
!"(   R˜   R™   Rš   RÀ   (    (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyR´   È  s   t   TestCopyReplicatec           B   s)   e  Z d  Z d „  Z d „  Z d „  Z RS(   s3   Test issues related to copying and replicating datac         C   så   t  j d g d t  j ƒ} t | d d d d ƒ} t | j | ƒ sK t ‚ d | d <t | j | ƒ sn t ‚ t  j d	 g d t  j ƒ} t | d d
 d d ƒ} t | j d g ƒ s¼ t ‚ d | d <t | j d g ƒ sá t ‚ d S(   s   Internals are never mutable.g   @(±BARH   R   R,   R   R$   i„% i    g     jè@RD   g        N(   R    R!   t   doubleR   R   R,   R   (   R(   t   jdsR*   t   mjds(    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_immutable_inputä  s    

c      	   C   s[  t  d g d d d d d d ƒ} | j } | j j j ƒ  } | j ƒ  } | j | j k s` t ‚ | j | j k sx t ‚ | j | j k s t ‚ | j | j k s¨ t ‚ | j	 j
 d 7_
 | ` | ` | j | j k sÞ t ‚ | j | k só t ‚ | j j } d	 | d <| j j | k s!t ‚ | j j | j j k s?t ‚ | j j | k sWt ‚ d
 S(   s   Test replicate methods   2000:001R   R   R   R$   RE   RF   g      Y@i    N(   RF   RF   (    (   R   R   RE   Ro   R=   t	   replicateR   R   R   RB   R   t   cache(   R(   R*   t   t_ydayt   t_loc_xR7   t   t2_loc_x_view(    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_replicateò  s&    		
c      	   C   s  t  d d d d d d d ƒ} | j } | j j j ƒ  } | j ƒ  } | j | j k s] t ‚ | j j d 7_ | ` | ` | j | j k s“ t ‚ | j | k s¨ t ‚ | j j } d	 | d <| j j | k sÖ t ‚ | j j | j j k sô t ‚ | j j | k st ‚ d
 S(   s   Test copy methods   2000:001R   R   R   R$   RE   RF   g      Y@i    N(   RF   RF   (    (	   R   R   RE   Ro   R=   R   RB   R   RÇ   (   R(   R*   RÈ   RÉ   R7   RÊ   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt	   test_copy  s     		
(   R˜   R™   Rš   RÅ   RË   RÌ   (    (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyRÁ   á  s   		c          C   sj   t  d d d d d ƒ}  t j |  ƒ } t j |  ƒ } |  j | j k sN t ‚ |  j | j k sf t ‚ d  S(   Ns   2000:001R   R   R   R$   (   R   R=   R    R,   R   (   R*   R7   R9   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_python_builtin_copy(  s
    c          C   sn   t  j  j ƒ  }  t j ƒ  } | j d k s0 t ‚ | j d k sE t ‚ | j  |  } | j ƒ  d k  sj t ‚ d S(   sC   
    Tests creating a Time object with the `now` class method.
    Rg   R   gš™™™™™¹?N(   Rg   t   utcnowR   t   nowR   R   R   t   total_seconds(   RÏ   R*   R‚   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_now1  s    c          C   sÆ   t  d d d ƒ}  |  j d k s' t ‚ t  d d d g d d ƒ}  t j |  j d	 d
 g k ƒ sf t ‚ t  d ƒ j } t  d ƒ j } | | } t j |  j | d | | d | g k ƒ sÂ t ‚ d  S(   Ns   2001:001R   R   g     DŸ@g     @Ÿ@g      à?g      è?R|   g     BŸ@g     CŸ@s   2000:001(   R   R|   R   R    RA   R<   R,   (   R*   t   jd0R   t   d_jd(    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_decimalyearF  s    $
c          C   sy   t  d d d ƒ}  |  j d k s' t ‚ t  d	 d d ƒ}  |  j d k sN t ‚ t  d d d ƒ}  |  j d k su t ‚ d  S(   Ng   €QD:AR   R,   s   0001-01-01T00:00:00.000(UTC)g     àv@s   +00000-01-01T00:00:00.000(UTC)g     Ðv@s   -00001-01-01T00:00:00.000(UTC)g   €ãB:Ag   €ãB:Ag   €vA:A(   R   Ra   R   (   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_fits_year0T  s    c          C   s–   t  d d d d d ƒ}  |  j d k s- t ‚ t  d d d d d ƒ}  |  j d k sZ t ‚ t  d d	 d
 d d d d d ƒ}  |  j d k s’ t ‚ d  S(   Ng    ‹TAR   R,   R   R$   s   +10000-01-01T00:00:00.000(TAI)g     Ðv@s   9999-01-01T00:00:00.000(TAI)g      ð¿g      8@g      ¬@s   9999-12-31T23:59:59.000(TAI)g   à/TA(   R   Ra   R   (   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_fits_year10000]  s    #c          C   s4   t  d d d d d ƒ}  d t |  ƒ k s0 t ‚ d  S(   Ns   2000:001R   R   R   R$   R   (   R   t   dirR   (   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_dirf  s    c          C   sx   t  t j d d ƒ d d d d ƒ}  t |  ƒ t k s< t ‚ t |  d ƒ t k sX t ‚ t |  d  ƒ t k st t ‚ d S(	   sC   Any Time object should evaluate to True unless it is empty [#3520].iPÃ  iZÃ  R   RD   R   R   i    N(   R   R    R0   t   boolR.   R   R1   (   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt	   test_boolk  s    $c          C   sL  t  t j d d ƒ d d d d ƒ}  t |  ƒ d k rE |  j d k sK t ‚ t  t j d d ƒ j d d	 ƒ d d d d ƒ} t | ƒ d k rœ | j d k s¢ t ‚ |  d
  } t | ƒ d
 k rÍ | j d
 k sÓ t ‚ |  d  } t | ƒ d k rþ | j d k st ‚ |  d } t j t	 ƒ  } t | ƒ Wd QXd t
 | ƒ k sHt ‚ d S(   sB   Check length of Time objects and that scalar ones do not have one.iPÃ  iZÃ  R   RD   R   R   i
   i   i   i   i    NR   (   R   R    R0   RI   RP   R   R2   Rs   Rt   t	   TypeErrort   str(   R*   R6   R7   R9   R:   t   err(    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_len_sizes  s    $'0'
'
'
c          C   sA   t  d d d ƒ}  d |  _ |  j |  j |  j j k s= t ‚ d S(   s   guard against recurrence of #1122, where TimeFormat class looses uses
    attributes (delta_ut1_utc here), preventing conversion to unix, cxcs
   1900-01-01R   Rb   g        N(   R   R`   Re   R   R   (   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_TimeFormat_scale‡  s    	c           C   s#   t  t  j ƒ  j d d d d ƒd  S(   NR   R'   R   Rb   (   R   RÏ   R'   (    (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_scale_conversion  s    c          C   s£   t  j d d g ƒ }  |  j d ƒ } |  j d ƒ } t |  d d ƒ} t | d d ƒ} t | d d ƒ} t  j | | k ƒ s„ t ‚ t  j | | k ƒ sŸ t ‚ d S(   s@   Ensure that bigendian and little-endian both work (closes #2942)g     áé@g     ^ê@s   >f8s   <f8R   RD   N(   R    R!   t   astypeR   RA   R   (   RD   t
   big_endiant   little_endiant   time_mjdt   time_bigt   time_little(    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_byteorder•  s    c       	   C   s}   d t  j f d „  ƒ  Y}  t  j  d d d d d d d	 |  ƒ  ƒ} t | ƒ } | j t  j  d d d d
 d d ƒ k sy t ‚ d S(   sJ   
    Test #3160 that time zone info in datetime objects is respected.
    t   TZm6c           B   s   e  Z d  „  Z RS(   c         S   s   t  j d d ƒ S(   Nt   hoursiúÿÿÿ(   Rg   t	   timedelta(   R(   R‚   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt	   utcoffset¦  s    (   R˜   R™   Rë   (    (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyRè   ¥  s   iÒ  i   i   i
   i   i   t   tzinfoi   N(   Rg   Rì   R   R<   R   (   Rè   t   dR*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_datetime_tzinfo¡  s    'c          C   s_   d t  f d „  ƒ  Y}  t d d d ƒ} | j d k s= t ‚ | j t d ƒ j k s[ t ‚ d S(   s@   
    Test having a custom subfmts with a regular expression
    t   TimeLongYearc           B   s   e  Z d  Z d Z RS(   t   longyearR@   s   (?P<year>[+-]\d{5})-%m-%ds   {year:+06d}-{mon:02d}-{day:02d}(   R@   s   (?P<year>[+-]\d{5})-%m-%ds   {year:+06d}-{mon:02d}-{day:02d}(   (   R@   s   (?P<year>[+-]\d{5})-%m-%ds   {year:+06d}-{mon:02d}-{day:02d}(   R˜   R™   t   namet   subfmts(    (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyRï   ²  s     s   +02000-02-03R   Rð   s
   2000-02-03N(   R	   R   R<   R   R,   (   Rï   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_subfmts_regex®  s    c       
   C   s½   x¶ d d d d t  j  d d	 d
 d d ƒ f d f D]„ \ }  } t d d d ƒ} | j ƒ  } |  | _ | j | k sy t ‚ | j j | j j k s— t ‚ | j j | j j k s1 t ‚ q1 Wd S(   s2   
    Test basics of setting format attribute.
    R,   g   À<´BARD   g     /é@R'   gþÔxFoARg   iÐ  i   i   i    R   s   2000-02-03 00:00:00.000s   +02000-02-03R   Ra   N(   R,   g   À<´BA(   RD   g     /é@(   R'   gþÔxFoA(   R   s   2000-02-03 00:00:00.000(	   Rg   R   RÆ   R   R<   R   RB   R   R#   (   R   R<   R*   R”   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_set_format_basic¼  s    	c          C   s¬   t  d d d d d d d ƒ}  |  j ƒ  } d |  _ |  j d k sH t ‚ |  j d k s] t ‚ |  j d	 k sr t ‚ d |  _ |  j | j k s“ t ‚ |  j d k s¨ t ‚ d
 S(   sK   
    Set format and round trip through a format that shares out_subfmt
    s   +02000-02-03R   Ra   R?   t   date_hmsR>   i   Rd   s   2000-02-03T00:00:00.00000N(   R   R=   R   R>   R   R?   R<   (   R*   t   tc(    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_set_format_shares_subfmtÎ  s    		c          C   s‚   t  d d d d d ƒ}  d |  _ |  j d k s6 t ‚ |  j d k sK t ‚ d |  _ |  j d k si t ‚ |  j d	 k s~ t ‚ d
 S(   sS   
    Set format and round trip through a format that does not share out_subfmt
    s   +02000-02-03R   Ra   R?   t   longdateRd   Rª   s   2000-02-03T00:00:00.000s   2000-02-03T00:00:00.000(UTC)N(   R   R   R?   R   R<   (   R*   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt%   test_set_format_does_not_share_subfmtß  s    		c          C   sV   t  d d d ƒ}  t j t ƒ  } |  j d d ƒ Wd QXd t | ƒ k sR t ‚ d S(   s`   
    Passing a bad format to replicate should raise ValueError, not KeyError.
    PR #3857.
    s   2007:001R   R$   R   t   definitely_not_a_valid_formatNs   format must be one of(   R   Rs   Rt   Ru   RÆ   RÜ   R   (   R6   RÝ   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_replicate_value_errorî  s    c          C   sk   t  d d d ƒ}  d |  j k s' t ‚ t j t ƒ  } t  |  d d ƒWd QXd t | ƒ k sg t ‚ d S(   sw   
    Make sure that 'astropy_time' format is really gone after #3857.  Kind of
    silly test but just to be sure.
    s   2007:001R   R$   t   astropy_timeR   Ns   format must be one of(   R   R   R   Rs   Rt   Ru   RÜ   (   R6   RÝ   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_remove_astropy_timeù  s
    c          C   sS   t  j ƒ  }  t |  ƒ s t ‚ t  d d g d d d d ƒ} t | ƒ sO t ‚ d S(   s³   
    Ensure that scalar `Time` instances are not reported as iterable by the
    `isiterable` utility.

    Regression test for https://github.com/astropy/astropy/issues/4048
    s   1999-01-01 00:00:00.123456789s   2010-01-01 00:00:00R   R   R   R   N(   R   RÏ   R   R   (   R6   R7   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_isiterable  s
    c          C   ss  t  d d t j d d ƒ }  t d ƒ } | j |  ƒ } | j ƒ  t j d d ƒ k s[ t ‚ t | ƒ } |  j | j ƒ | j ƒ  k s‹ t ‚ | | k s t ‚ t d d d	 g ƒ } | j |  ƒ } t | ƒ } xA t	 | j | ƒ D]- \ } } |  j | ƒ | j ƒ  k sà t ‚ qà Wt
 j | | k ƒ s,t ‚ t j t ƒ 2 } t d
 ƒ j ƒ  d t | j ƒ k sit ‚ Wd  QXd  S(   Nt
   utc_offsetiöÿÿÿt   tznames	   US/Hawaiis   2010-09-03 00:00:00i   i    s   2005-09-03 06:00:00s   1990-09-03 06:00:00s   2015-06-30 23:59:60.000s   does not support leap seconds(   R
   t   ut   hourR   t   to_datetimet   timeRg   R   R   R   R    RA   Rs   Rt   Ru   RÜ   R¹   (   t   tzR  t   tz_aware_datetimet   forced_to_astropy_timeR‚   t   tz_dtt   e(    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_to_datetime  s"    $$	%s   not HAS_PYTZc          C   s#  t  j d ƒ }  t d ƒ } | j |  ƒ } t | ƒ } | j ƒ  t j d d ƒ k sZ t ‚ |  j | j ƒ | j ƒ  k s~ t ‚ | | k s t ‚ t d d d g ƒ } | j |  ƒ } t | ƒ } xA t | j | ƒ D]- \ } } |  j | ƒ | j ƒ  k sÓ t ‚ qÓ Wt	 j
 | | k ƒ st ‚ d  S(   Ns	   US/Hawaiis   2010-09-03 00:00:00i   i    s   2005-09-03 06:00:00s   1990-09-03 06:00:00(   t   pytzt   timezoneR   R  R  Rg   R   R   R   R    RA   (   R  R  R  R  R‚   R  (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_to_datetime_pytz.  s    $$	%c          C   s×   t  d ƒ }  t  d ƒ } d |  j k s- t ‚ |  j |  j d d | j k sT t ‚ |  j |  j d d | j k s{ t ‚ d |  j j k s“ t ‚ |  ` d |  j k s® t ‚ |  j s¾ t ‚ d |  j k sÓ t ‚ d  S(   Ns   2010-09-03 00:00:00RÇ   R   R   R   R$   (   R   t   __dict__R   R   RÇ   R$   R%   (   R*   R7   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt
   test_cacheC  s      c          C   s”   t  d d d ƒ}  |  j d k s' t ‚ |  j d k s< t ‚ t  t j d d d d d	 d	 ƒ d d ƒ} | j d k s{ t ‚ | j d k s t ‚ d
 S(   sm   
    Ensure that jd1 and jd2 of an epoch Time are respect the (day, fraction) convention
    (see #6638)
    R¯   R   RO   g   €,´BAg        iÐ  i   i   i    N(   R   R   R   R#   Rg   (   R”   R6   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt"   test_epoch_date_jd_is_day_fraction]  s    *c          C   sb   t  d d d ƒ}  t  d d d ƒ} |  | k s6 t ‚ |  d t j | d t j k s^ t ‚ d S(   sV   
    Ensure that two equal dates defined in different ways behave equally (#6638)
    R¯   R   RO   s   2000-01-01 12:00:00i   N(   R   R   R  t   second(   R”   R6   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_sum_is_equivalentm  s    c          C   sY   d t  f d „  ƒ  Y}  t  d ƒ } |  | ƒ } | j |  k sC t ‚ | | k sU t ‚ d S(   s=   Check that we can initialize subclasses with a Time instance.t   _Timec           B   s   e  Z RS(    (   R˜   R™   (    (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyR  |  s   s   1999-01-01T01:01:01N(   R   t	   __class__R   (   R  R6   R7   (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   test_subclassx  s
    (I   R=   t	   functoolsRg   R    Rs   t   numpyR    t   tests.helperR   R   t   externR   t   extern.six.movesR   t   utilsR   t    R   R   R   R	   R
   t   coordinatesR   R   R  R   R¶   R  R.   t   HAS_PYTZt   ImportErrorR1   t   partialRˆ   R   R"   R&   R‡   R   R   R   R   R¢   R´   RÁ   RÍ   RÑ   RÔ   RÕ   RÖ   RØ   RÚ   RÞ   Rß   Rà   Rç   Rî   Ró   Rô   R÷   Rù   Rû   Rý   Rþ   R
  R›   t   skipifR  R  R  R  R  (    (    (    s<   lib/python2.7/site-packages/astropy/time/tests/test_basic.pyt   <module>   st   (

"			ÿ Æ¿G																										