;
Λβ"Ic            	   @   s   d  Z  d d l Z d d l Z d d l Z d d l j Z d d l m Z e j	 Z
 d   Z Gd   d e j  Z d   Z e d k o e   n d S(	   uA   Test script for the dumbdbm module
   Original by Roger E. Masse
i    N(   u   supportc           
   C   sJ   xC d d d g D]2 }  y t  j t |   Wq t k
 o Yq Xq Wd  S(   Nu   .diru   .datu   .bak(   u   osu   unlinku   _fnameu   OSError(   u   ext(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   _delete_files   s     c             B   sΥ   |  Ee  Z i d  d 6d d 6d d 6d d 6d d	 6d
 d 6d d 6Z 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 S(   s    u   0s   Python:u   as   Programmingu   bs   theu   cs   wayu   ds   Guidou   fs   intendedu   gc             G   s   t  j j |  |  d  S(   N(   u   unittestu   TestCaseu   __init__(   u   selfu   args(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   __init__   s    c             C   sw   t  j t d  } |  j t | j    g   x+ |  j D]  } |  j | | | j d  <q8 W|  j |  | j	   d  S(   Nu   cu   ascii(
   u   dumbdbmu   openu   _fnameu   assertEqualu   listu   keysu   _dictu   encodeu   read_helperu   close(   u   selfu   fu   key(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   test_dumbdbm_creation"   s    
 c          
   C   sφ   t  t d  o t  t d  p d  Sz2 t j d  } t j t d d  } | j   Wd  t j |  Xd } t j d k o
 d } n d	 d  l } t j t d
  } |  j	 | j
 | j  |  t j t d  } |  j	 | j
 | j  |  d  S(   Nu   chmodu   umaski   u   ci  i  u   posixiΆ  i    u   .datu   .dir(   u   hasattru   osu   umasku   dumbdbmu   openu   _fnameu   closeu   nameu   statu   assertEqualu   S_IMODEu   st_mode(   u   selfu	   old_umasku   fu   expected_modeu   statu   st(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   test_dumbdbm_creation_mode*   s     
c             C   sE   t  j t  } d | d <|  j | d d  | j   | j   d  S(   Ns   bs   a(   u   dumbdbmu   openu   _fnameu   assertEqualu   close(   u   selfu   f(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   test_close_twiceB   s
    

c             C   sL   |  j    t j t d  } d |  j d <| d <|  j |  | j   d  S(   Nu   ws   indentedu   gs   g(   u   init_dbu   dumbdbmu   openu   _fnameu   _dictu   read_helperu   close(   u   selfu   f(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   test_dumbdbm_modificationI   s
    
c             C   s7   |  j    t j t d  } |  j |  | j   d  S(   Nu   r(   u   init_dbu   dumbdbmu   openu   _fnameu   read_helperu   close(   u   selfu   f(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   test_dumbdbm_readP   s    
c             C   s6   |  j    t j t  } |  j |  } | j   d  S(   N(   u   init_dbu   dumbdbmu   openu   _fnameu   keys_helperu   close(   u   selfu   fu   keys(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   test_dumbdbm_keysV   s    
c             C   s:   t  j t  } d | d <|  j d | k  | j   d  S(   Ns   hellos   1(   u   dumbdbmu   openu   _fnameu
   assertTrueu   close(   u   selfu   f(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   test_write_contains\   s    
c             C   s^   t  j t  } d | d <d | d <| j   t  j t  } |  j | d d  | j   d  S(   Ns   hellos   1s   hello2(   u   dumbdbmu   openu   _fnameu   closeu   assertEqual(   u   selfu   f(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   test_write_write_readb   s    


c             C   sΩ   t  j t  } d | d <d | d <| j   t j t d d  j   } t j d k o | j d d	  } n | j d	 d  } t j t d d
  j	 |  t  j t  } |  j
 | d d  |  j
 | d d  d  S(   Ns   hellos   1s   hello2s   2u   .diru   rbu   
s   
s   
u   wb(   u   dumbdbmu   openu   _fnameu   closeu   iou   readu   osu   linesepu   replaceu   writeu   assertEqual(   u   selfu   fu   data(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   test_line_endingsl   s    


c             C   sK   |  j  |  } x5 |  j D]* } |  j |  j | | | j d   q Wd  S(   Nu   ascii(   u   keys_helperu   _dictu   assertEqualu   encode(   u   selfu   fu   keysu   key(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   read_helper   s    
 c             C   sN   t  j t d  } x+ |  j D]  } |  j | | | j d  <q W| j   d  S(   Nu   wu   ascii(   u   dumbdbmu   openu   _fnameu   _dictu   encodeu   close(   u   selfu   fu   k(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   init_db   s
    
 c             C   sE   t  d   | j   D  } t  |  j j    } |  j | |  | S(   Nc             s   s   |  ] } | j  d   Vq d S(   u   asciiN(   u   decode(   u   .0u   k(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu	   <genexpr>   s    (   u   sortedu   keysu   _dictu   assertEqual(   u   selfu   fu   keysu   dkeys(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   keys_helper   s    c       	      C   sX  d d  l  } i  } x?t d  D]1} t j t  } xΈ t d  D]ͺ } | j d  } | j    d k  o, | | k o | | =| | j d  =qλ qA | j d  | j d
  } | | | <| | | j d  <|  j | | j d  |  qA W| j	   t j t  } t
 d   | j   D  } t
 | j    } |  j | |  | j	   q Wd  S(   Ni    i   id   u   abcdefghijklmgΙ?u   asciis   as   bs   ci'  c             s   s*   |  ]  \ } } | j  d   | f Vq d S(   u   latin-1N(   u   encode(   u   .0u   ku   v(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu	   <genexpr>§   s    (   s   as   bs   c(   u   randomu   rangeu   dumbdbmu   openu   _fnameu   choiceu   encodeu	   randrangeu   assertEqualu   closeu   sortedu   items(	   u   selfu   randomu   du   dummyu   fu   ku   vu   expectedu   got(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   test_random   s,      
!
c             C   s   t    d  S(   N(   u   _delete_files(   u   self(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   tearDown¬   s    c             C   s   t    d  S(   N(   u   _delete_files(   u   self(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   setUp―   s    N(   u   __name__u
   __module__u   _dictu   __init__u   test_dumbdbm_creationu   test_dumbdbm_creation_modeu   test_close_twiceu   test_dumbdbm_modificationu   test_dumbdbm_readu   test_dumbdbm_keysu   test_write_containsu   test_write_write_readu   test_line_endingsu   read_helperu   init_dbu   keys_helperu   test_randomu   tearDownu   setUp(   u
   __locals__(    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   DumbDBMTestCase   s.   


									
						u   DumbDBMTestCasec               C   s    z t  j t  Wd  t   Xd  S(   N(   u   supportu   run_unittestu   DumbDBMTestCaseu   _delete_files(    (    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu	   test_main²   s    u   __main__(   u   __doc__u   iou   osu   unittestu   dbm.dumbu   dumbu   dumbdbmu   testu   supportu   TESTFNu   _fnameu   _delete_filesu   TestCaseu   DumbDBMTestCaseu	   test_mainu   __name__(    (    (    u/   /mit/python/lib/python3.0/test/test_dbm_dumb.pyu   <module>   s   			