
    1hT$                     p    d dl Z d dlZd dlZ G d dej                        Z G d dej                        Zy)    Nc                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)	StarTestsc                 
   t        j                  d      }|j                  t        j                  d             | j	                  t        |j                        d       | j	                  t        |j                        d       y )NArcturusz2017/1/1 12:00z14:16:25.12z
19:05:39.8)ephemstarcomputedateassertEqualstrradecselfss     ;D:\jyotish\venv\Lib\site-packages\ephem/tests/test_stars.pytest_ArcturuszStarTests.test_Arcturus   sV    JJz"			%**-./QTTM2QUU\2    c                     t        j                  d      }| j                  |j                  d       | j	                  t
        t        |d       y )N	Fomalhautr   )r   r   r   nameassertRaisesRuntimeErrorgetattrr   s     r   test_FomalhautzStarTests.test_Fomalhaut   s8    JJ{#-,D9r   c                     t        j                  d      }|j                          | j                  |j                  d       | j                  t        |j                        d       y )Nr   22:57:39.05)r   r   r	   r   r   r   _rar   s     r   test_Fomalhaut_computez StarTests.test_Fomalhaut_compute   sE    JJ{#			-QUU]3r   c                     t        j                  dd      }| j                  |j                  d       | j                  t	        |j
                        d       y )Nr   z1971/1/1r   )r   r   r   r   r   r   r   s     r   test_Fomalhaut_autocomputez$StarTests.test_Fomalhaut_autocompute   s>    JJ{J/-QUU]3r   c                 j    | j                  t        t        j                  j                        d       y )Ns   )r   lenr   starsr   s    r   test_catalog_sizezStarTests.test_catalog_size   s!    U[[../5r   c                 N    | j                  t        t        j                  d       y )NzAlpha Centauri)r   KeyErrorr   r   r&   s    r   test_unknown_starzStarTests.test_unknown_star"   s    (EJJ0@Ar   N)	__name__
__module____qualname__r   r   r   r!   r'   r*    r   r   r   r      s!    3:
44
6Br   r   c                      e Zd ZdZdZdZef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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#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. Z0d/ Z1d0 Z2d1 Z3d2 Z4d3 Z5d4 Z6d5 Z7d6 Z8d7 Z9d8 Z:d9 Z;d: Z<d; Z=d< Z>d= Z?d> Z@d? ZAd@ ZBdA ZCyB)CTest57NavigationStarsau  Tests all 57 common navigation stars against the Nautical Almanac
    for the date 2018-01-01 00:00:00.

    Reference data is from Her Majesty's Nautical Almanac Office Publication
    NP314-18 "The Nautical Almanac" (2017), ISBN 978-0-7077-41819.

    A secondary source, online, is:
    http://www.tecepe.com.br/scripts/AlmanacPagesISAPI.dll/pages?date=1%2F1%2F2018
    2018-01-01 00:00:00g{Gzt?c                    t        j                  |      }t        j                         }||_        |j	                  |       t        j
                  |j                  dd            }t        j
                  dt         j                  z  |j                  z
  |z
        }| j                  t        |      | j                  k  dj                  t        |      | j                               t        j
                  |j                  dd            }	t        j
                  |j                  |	z
        }
| j                  t        |
      | j                  k  dj                  t        |
      | j                               y )N :   zSHA fail: {0!s:} !< {1!s:}zDec. fail: {0!s:} !< {1!s:})r   r   Observerr
   r	   degreesreplacemathpig_ra
assertTrueabsMAX_ERROR_DEGREESformatg_dec)r   r   shar   r
   objobsexp_shaerr_shaexp_decerr_decs              r   
_test_bodyz Test57NavigationStars._test_body;   s   jjnnC--C 56,,q588|chh6@AL4111(VCL$"8"89	

 --C 56,,syy723L4111)VCL$"8"89	
r   c                 *    | j                  ddd       y )NAcamarz315 15.8z-40 14.3rH   r&   s    r   test_Acamarz!Test57NavigationStars.test_AcamarO       *j9r   c                 *    | j                  ddd       y )NAchernarz335 24.4z-57 09.2rK   r&   s    r   test_Achernarz#Test57NavigationStars.test_AchernarR   s    
J
;r   c                 *    | j                  ddd       y )NAcruxz173 05.7z-63 11.5rK   r&   s    r   
test_Acruxz Test57NavigationStars.test_AcruxU       Z8r   c                 *    | j                  ddd       y )NAdharaz255 09.7z-29 00.0rK   r&   s    r   test_Adharaz!Test57NavigationStars.test_AdharaX   rM   r   c                 *    | j                  ddd       y )N	Aldebaranz290 45.5z16 32.5rK   r&   s    r   test_Aldebaranz$Test57NavigationStars.test_Aldebaran[       Z;r   c                 *    | j                  ddd       y )NAliothz166 18.1z55 51.5rK   r&   s    r   test_Aliothz!Test57NavigationStars.test_Alioth^       *i8r   c                 *    | j                  ddd       y )NAlkaidz152 56.7z49 13.3rK   r&   s    r   test_Alkaidz!Test57NavigationStars.test_Alkaida   r_   r   c                 *    | j                  ddd       y )NAlnairz27 40.3z-46 52.6rK   r&   s    r   test_Alnairz!Test57NavigationStars.test_Alnaird   s    )Z8r   c                 *    | j                  ddd       y )NAlnilamz275 42.9z-1 11.7rK   r&   s    r   test_Alnilamz"Test57NavigationStars.test_Alnilamg       	:y9r   c                 *    | j                  ddd       y )NAlphardz217 52.8z-8 44.3rK   r&   s    r   test_Alphardz"Test57NavigationStars.test_Alphardj   ri   r   c                 *    | j                  ddd       y )NAlpheccaz126 8.7z26 39.3rK   r&   s    r   test_Alpheccaz#Test57NavigationStars.test_Alpheccam   s    
Iy9r   c                 *    | j                  ddd       y )N	Alpheratzz357 40.3z29 11.4rK   r&   s    r   test_Alpheratzz$Test57NavigationStars.test_Alpheratzp   r[   r   c                 *    | j                  ddd       y )NAltairz62 5.6z8 55.1rK   r&   s    r   test_Altairz!Test57NavigationStars.test_Altairs   s    (H5r   c                 *    | j                  ddd       y )NAnkaaz353 12.7z-42 12.8rK   r&   s    r   
test_Ankaaz Test57NavigationStars.test_Ankaav   rT   r   c                 *    | j                  ddd       y )NAntaresz112 22.8z-26 28.0rK   r&   s    r   test_Antaresz"Test57NavigationStars.test_Antaresy       	:z:r   c                 *    | j                  ddd       y )Nr   z145 53.1z19 5.4rK   r&   s    r   r   z#Test57NavigationStars.test_Arcturus|   s    
J9r   c                 *    | j                  ddd       y )NAtriaz107 22.3z-69 3.2rK   r&   s    r   
test_Atriaz Test57NavigationStars.test_Atria       Y7r   c                 *    | j                  ddd       y )NAviorz234 16.1z-59 34.0rK   r&   s    r   
test_Aviorz Test57NavigationStars.test_Avior   rT   r   c                 *    | j                  ddd       y )N	Bellatrixz278 28.4z6 21.7rK   r&   s    r   test_Bellatrixz$Test57NavigationStars.test_Bellatrix   s    Z:r   c                 *    | j                  ddd       y )N
Betelgeusez270 57.6z7 24.4rK   r&   s    r   test_Betelgeusez%Test57NavigationStars.test_Betelgeuse   s    j(;r   c                 *    | j                  ddd       y )NCanopusz263 54.2z-52 42.5rK   r&   s    r   test_Canopusz"Test57NavigationStars.test_Canopus   r|   r   c                 *    | j                  ddd       y )NCapellaz280 29.3z46 0.8rK   r&   s    r   test_Capellaz"Test57NavigationStars.test_Capella       	:x8r   c                 *    | j                  ddd       y )NDenebz49 29.8z45 20.9rK   r&   s    r   
test_Denebz Test57NavigationStars.test_Deneb       I6r   c                 *    | j                  ddd       y )NDenebolaz182 30.5z14 28.1rK   r&   s    r   test_Denebolaz#Test57NavigationStars.test_Denebola   s    
J	:r   c                 *    | j                  ddd       y )NDiphdaz348 52.8z-17 53.5rK   r&   s    r   test_Diphdaz!Test57NavigationStars.test_Diphda   rM   r   c                 *    | j                  ddd       y )NDubhez193 47.8z61 39.0rK   r&   s    r   
test_Dubhez Test57NavigationStars.test_Dubhe   r   r   c                 *    | j                  ddd       y )NElnathz278 8.4z28 37.2rK   r&   s    r   test_Elnathz!Test57NavigationStars.test_Elnath       )Y7r   c                 *    | j                  ddd       y )NEltaninz90 45.3z51 29.3rK   r&   s    r   test_Eltaninz"Test57NavigationStars.test_Eltanin   s    	9i8r   c                 *    | j                  ddd       y )NEnifz33 44.3z9 57.5rK   r&   s    r   	test_EnifzTest57NavigationStars.test_Enif   s    	84r   c                 *    | j                  ddd       y )Nr   z15 20.8z-29 31.8rK   r&   s    r   r   z$Test57NavigationStars.test_Fomalhaut   s    Y
;r   c                 *    | j                  ddd       y )NGacruxz171 57.3z-57 12.5rK   r&   s    r   test_Gacruxz!Test57NavigationStars.test_Gacrux   rM   r   c                 *    | j                  ddd       y )NGienahz175 49.1z-17 38.3rK   r&   s    r   test_Gienahz!Test57NavigationStars.test_Gienah   rM   r   c                 *    | j                  ddd       y )NHadarz148 43.7z-60 27.1rK   r&   s    r   
test_Hadarz Test57NavigationStars.test_Hadar   rT   r   c                 *    | j                  ddd       y )NHamalz327 57.1z23 32.8rK   r&   s    r   
test_Hamalz Test57NavigationStars.test_Hamal   r   r   c                 *    | j                  ddd       y )NzKaus Australisz83 40.2z-34 22.4rK   r&   s    r   test_Kaus_Australisz)Test57NavigationStars.test_Kaus_Australis   s    ()Z@r   c                 *    | j                  ddd       y )NKochabz137 20.9z74 4.8rK   r&   s    r   test_Kochabz!Test57NavigationStars.test_Kochab   s    *h7r   c                 *    | j                  ddd       y )NMarkabz13 35.4z15 18.2rK   r&   s    r   test_Markabz!Test57NavigationStars.test_Markab   r   r   c                 *    | j                  ddd       y )NMenkarz314 11.6z4 9.4rK   r&   s    r   test_Menkarz!Test57NavigationStars.test_Menkar   s    *g6r   c                 *    | j                  ddd       y )NMenkentz148 4.1z-36 27.2rK   r&   s    r   test_Menkentz"Test57NavigationStars.test_Menkent       	9j9r   c                 *    | j                  ddd       y )NMiaplacidusz221 38.1z-69 47.3rK   r&   s    r   test_Miaplacidusz&Test57NavigationStars.test_Miaplacidus   s    z:>r   c                 *    | j                  ddd       y )NMirfakz308 35.5z49 55.5rK   r&   s    r   test_Mirfakz!Test57NavigationStars.test_Mirfak   r_   r   c                 *    | j                  ddd       y )NNunkiz75 54.9z-26 16.3rK   r&   s    r   
test_Nunkiz Test57NavigationStars.test_Nunki       J7r   c                 *    | j                  ddd       y )NPeacockz53 15.0z-56 40.6rK   r&   s    r   test_Peacockz"Test57NavigationStars.test_Peacock   r   r   c                 *    | j                  ddd       y )NPolluxz243 23.6z27 58.7rK   r&   s    r   test_Polluxz!Test57NavigationStars.test_Pollux   r_   r   c                 *    | j                  ddd       y )NProcyonz244 56.2z5 10.5rK   r&   s    r   test_Procyonz"Test57NavigationStars.test_Procyon   r   r   c                 *    | j                  ddd       y )N
Rasalhaguez96 3.9z12 33.0rK   r&   s    r   test_Rasalhaguez%Test57NavigationStars.test_Rasalhague   s    h	:r   c                 *    | j                  ddd       y )NRegulusz207 40.0z11 52.6rK   r&   s    r   test_Regulusz"Test57NavigationStars.test_Regulus   ri   r   c                 *    | j                  ddd       y )NRigelz281 8.8z-8 11.1rK   r&   s    r   
test_Rigelz Test57NavigationStars.test_Rigel   r   r   c                 ,    | j                  dddd       y )NRigil Kentaurusz140 4.6z-60 50.2z2002-01-01 00:00:00rK   r&   s    r   test_Rigil_Kentaurus_2002z/Test57NavigationStars.test_Rigil_Kentaurus_2002   s     	)9jBWXr   c                 ,    | j                  dddd       y )Nr   z139 47.8z-60 54.1r1   rK   r&   s    r   test_Rigil_Kentaurus_2017z/Test57NavigationStars.test_Rigil_Kentaurus_2017   s     	):zCXYr   c                 *    | j                  ddd       y )NSabikz102 9.3z-15 44.6rK   r&   s    r   
test_Sabikz Test57NavigationStars.test_Sabik   r   r   c                 *    | j                  ddd       y )NSchedarz349 36.9z56 38.3rK   r&   s    r   test_Schedarz"Test57NavigationStars.test_Schedar   ri   r   c                 *    | j                  ddd       y )NShaulaz96 18.1z-37 6.7rK   r&   s    r   test_Shaulaz!Test57NavigationStars.test_Shaula   r   r   c                 *    | j                  ddd       y )NSiriusz258 30.7z-16 44.7rK   r&   s    r   test_Siriusz!Test57NavigationStars.test_Sirius   rM   r   c                 *    | j                  ddd       y )NSpicaz158 28.1z-11 15.1rK   r&   s    r   
test_Spicaz Test57NavigationStars.test_Spica   rT   r   c                 *    | j                  ddd       y )NSuhailz222 49.8z-43 30.3rK   r&   s    r   test_Suhailz!Test57NavigationStars.test_Suhail   rM   r   c                 *    | j                  ddd       y )NVegaz80 37.3z38 48.2rK   r&   s    r   	test_VegazTest57NavigationStars.test_Vega   s    	95r   c                 *    | j                  ddd       y )NZubenelgenubiz137 2.2z-16 6.7rK   r&   s    r   test_Zubenelgenubiz(Test57NavigationStars.test_Zubenelgenubi   s    I>r   c                     | j                  t        t        j                  j                        dk(         | j                  t        t        j                  j
                        dk(         y )N9   )r<   r$   r   r%   STAR_NAME_NUMBERSTAR_NUMBER_NAMEr&   s    r   test_number_tables_lenz,Test57NavigationStars.test_number_tables_len  sB    EKK889R?@EKK889R?@r   c           	      T   | j                  t        t        j                  j                  j                               t        t        dd                   | j                  t        t        j                  j                  j                               t        t        dd                   y )N   :   )
r   sortedr   r%   r   valueslistranger  keysr&   s    r   test_number_tables_rangez.Test57NavigationStars.test_number_tables_range  sp     < < C C EFeArl+	 	 < < A A CDeArl+	r   c                 x   t         j                  j                  j                         D ]2  \  }}| j	                  |t         j                  j
                  |          4 t         j                  j
                  j                         D ]2  \  }}| j	                  |t         j                  j                  |          4 y )N)r   r%   r   itemsr   r  )r   r   numbers      r   "test_number_tables_cross_referencez8Test57NavigationStars.test_number_tables_cross_reference  s    !KK88>>@LD&T5;;#?#?#GH A!KK88>>@LFDVU[[%A%A$%GH Ar   N)Dr+   r,   r-   __doc__
NP314_DATEr>   rH   rL   rP   rS   rW   rZ   r^   rb   re   rh   rl   ro   rr   ru   rx   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   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r.   r   r   r0   r0   %   sT    'J '.8 
(:<9:<999:::<69;:89;<;97;:8895<::98A887:?98:99;:7Y
Z8:8:9:6?AIr   r0   )r9   unittestr   TestCaser   r0   r.   r   r   <module>r     s8      B!! B<mIH-- mIr   