mς
­fIc           @   s  d  k  Z  d  k Z d  k Z d  k Z d k l Z d e i f d     YZ d k l Z d e i f d     YZ	 d e	 f d     YZ
 d	 e	 f d
     YZ d e	 f d     YZ d e	 f d     YZ d e	 f d     YZ d e	 f d     YZ d   Z e d j o e   n d  S(   N(   s   test_supportt   TestCasec           B   sF   t  Z d e i d Z d   Z d   Z d   Z d   Z d   Z	 RS(   Nt	   shelftempt   dbc         C   sz   zD t  i |  i d t } d | d <|  i | d d	  | i   Wd  x+ t i |  i d  D] } t
 i |  q^ WXd  S(
   Nt   binaryi   i   i   i   t   key1t   *(   i   i   i   i   (   i   i   i   i   (   t   shelvet   opent   selft   fnt   Falset   st   assertEqualt   closet   globt   ft   ost   unlink(   R   R   R   (    (    t-   /mit/python/lib/python2.4/test/test_shelve.pyt   test_ascii_file_shelf   s    
  c         C   sz   zD t  i |  i d t } d | d <|  i | d d	  | i   Wd  x+ t i |  i d  D] } t
 i |  q^ WXd  S(
   NR   i   i   i   i   R   R   (   i   i   i   i   (   i   i   i   i   (   R   R   R   R	   t   TrueR   R   R   R   R   R   R   (   R   R   R   (    (    R   t   test_binary_file_shelf   s    
  c         C   sz   zD t  i |  i d d } d | d <|  i | d d	  | i   Wd  x+ t i |  i d  D] } t	 i
 |  q^ WXd  S(
   Nt   protocoli   i   i   i   R   R   (   i   i   i   i   (   i   i   i   i   (   R   R   R   R	   R   R   R   R   R   R   R   (   R   R   R   (    (    R   t   test_proto2_file_shelf   s    
  c         C   s°   h  } t i | d t } d | d <|  i | d d  | i   h  } t i | d t	 } d	 | d <|  i | d d
  | i   |  i t
 |  d  |  i | |  d  S(   NR   i   i   i   i   R   (   i   i   i   i   (   i   i   i   i   (   i   i   i   i   (   i   i   i   i   (   t   d1R   t   ShelfR
   R   R   R   R   t   d2R   t   lent   assertNotEqual(   R   R   R   R   (    (    R   t   test_in_memory_shelf)   s    



c         C   sW  h  } t i | d d d t } d d d d g | d <|  i | d d d d d g  | d i d  |  i | d d d d d g  | i   h  } t i | d d d t
 } d d d d g | d <|  i | d d d d d g  | d i d  |  i | d d d d d d g  | i   |  i t |  d  |  i t |  d  d  S(	   NR   i   t	   writebacki   i   i   R   i   (   R   R   R   R
   R   R   R   t   appendR   R   R   R   (   R   R   R   R   (    (    R   t   test_mutable_entry8   s       
 #
(
   t   __name__t
   __module__R   t   extsepR	   R   R   R   R   R    (    (    (    R   R       s   	
	
	
	(   s   mapping_testst   TestShelveBasec           B   sA   t  Z d Z d Z d   Z e i Z d   Z d   Z	 d   Z
 RS(   Ns   shelftemp.dbi    c         O   s#   g  |  _ t i i |  | |  d  S(   N(   R   t   _dbt   mapping_testst   BasicTestMappingProtocolt   __init__t   argst   kw(   R   R)   R*   (    (    R   R(   R   s    	c         C   s   h  d d <d d <d d <S(	   NR   t   value1t   key2i   t   key3i   i   (   i   i   i   (    (   R   (    (    R   t
   _referenceV   s    c         C   sk   |  i o t i h  |  i  } n5 |  i d 7_ t i |  i t	 |  i  |  i  } |  i
 i |  | S(   Ni   (   R   t   _in_memR   R   t   _argst   xt   counterR   R	   t   strR%   R   (   R   R1   (    (    R   t   _empty_mappingX   s    
%c         C   sg   x |  i D] } | i   q
 Wg  |  _ |  i p2 x/ t i |  i d  D] } t i	 |  qH Wn d  S(   NR   (
   R   R%   R   R   R/   R   R	   R   R   R   (   R   R   R   (    (    R   t   tearDown`   s    
 	
 (   R!   R"   R	   R2   R(   R   R   t	   type2testR.   R4   R5   (    (    (    R   R$   O   s   				t   TestAsciiFileShelvec           B   s   t  Z h  d e <Z e Z RS(   NR   (   R!   R"   R
   R0   R/   (    (    (    R   R7   h   s   t   TestBinaryFileShelvec           B   s   t  Z h  d e <Z e Z RS(   NR   (   R!   R"   R   R0   R
   R/   (    (    (    R   R8   k   s   t   TestProto2FileShelvec           B   s   t  Z h  d d <Z e Z RS(   NR   i   (   R!   R"   R0   R
   R/   (    (    (    R   R9   n   s   t   TestAsciiMemShelvec           B   s   t  Z h  d e <Z e Z RS(   NR   (   R!   R"   R
   R0   R   R/   (    (    (    R   R:   q   s   t   TestBinaryMemShelvec           B   s   t  Z h  d e <Z e Z RS(   NR   (   R!   R"   R   R0   R/   (    (    (    R   R;   t   s   t   TestProto2MemShelvec           B   s   t  Z h  d d <Z e Z RS(   NR   i   (   R!   R"   R0   R   R/   (    (    (    R   R<   w   s   c           C   s#   t  i t t t t t t t  d  S(   N(	   t   test_supportt   run_unittestR7   R8   R9   R:   R;   R<   R    (    (    (    R   t	   test_main{   s    	t   __main__(   R   t   unittestR   R   t   testR=   R    R&   R'   R$   R7   R8   R9   R:   R;   R<   R?   R!   (   R=   R$   R<   R8   RA   R;   R9   R    R7   R?   R   R&   R:   R   R   (    (    R   t   ?   s    				F	