
    j                         d dl Z d dlZd dlZd dlZddlmZmZmZ  G d de          Z ej	        de j
        j        vd           G d d	e                      Z G d
 d          ZdS )    N   )utTestCase	make_namec                       e Zd Zd ZdS )TestWriteDirectChunkc                    |                                                                  }t          j        |d          5 }|                    ddddd          }t          j        d          }t          d	          D ]l}t
          j        	                    d
d
          
                    d          }|j                            |ddf|                                d           |||<   m	 d d d            n# 1 swxY w Y   t          j        |d          5 }t          d	          D ]6}|d         |         }t
          j                            ||         |           7	 d d d            d S # 1 swxY w Y   d S )Nwdata)d   r   r   )Nr   r   )r   r   r   float32)maxshapechunksdtype)
   r   r   r   r   r   r   filter_maskr)mktempencodeh5pyFilecreate_datasetnumpyzerosrangerandomrandastypeidwrite_direct_chunktobytestestingassert_array_equal)	selffilename
filehandledatasetarrayindexai	read_datas	            c/var/www/html/Carbon-Document/venv/lib/python3.11/site-packages/h5py/tests/test_h5d_direct_chunk.pytest_write_direct_chunkz,TestWriteDirectChunk.test_write_direct_chunk
   s   ;;==''))Yx%% 	! //9I7D6? 0 A AG K//Er ! !L%%c3//66yAA
--uamQYY[[VW-XXX e!	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!  Yx%% 	F2YY F F&v.q1	00q9EEEEF	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	Fs%   B+C44C8;C8AE))E-0E-N)__name__
__module____qualname__r/        r.   r   r   	   s(        F F F F Fr4   r   gzipDEFLATE is not installedc                        e Zd Zd Zd Zd ZdS )TestReadDirectChunkc           	         |                                                                  }t          j        |d          5 }t	          j        d                              dd          }|                    d|dd          }|                    d|||gddd	|j        z   
          }|j	        
                    d          \  }}|                     |d           t          |j        d                   D ]N}|j	        
                    |ddf          \  }}	|                     ||	           |                     |d           O	 d d d            d S # 1 swxY w Y   d S )Nr
         framer5   	   r   compressioncompression_optscompressed_chunkedr   )r   r?   r@   r   r   r   r   )r   r   r   r   r   arangereshaper   shaper    read_direct_chunkassertEqualr   )
r%   r&   r'   r<   frame_datasetr(   r   compressed_framer,   r   s
             r.   test_read_compressed_offsetsz0TestReadDirectChunk.test_read_compressed_offsets%   s   ;;==''))Yx%% 	1L$$,,Q22E&55g;@BHGH 6 J JM !//0D6;UE5J<BAB7<u{7J	 0 L LG
 -:,<,N,Nv,V,V)K)[!,,,7=+,, 1 1$+J$@$@!Q$K$K!T  !14888  a0000	1!	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1s   DEEEc           	         |                                                                  }t          j        d                              dd          }t          j        |d          5 }|                    dd|j        z   d|j        z   ddd	          }d
}|j	        
                    d|                                |           d d d            n# 1 swxY w Y   t          j        |d          5 }|d         }|j	                            d          \  }}d d d            n# 1 swxY w Y   |                     |d           |                     ||                                           d S )Nr:   r;   r
   r<   rB   f4r5   r=   )r   rF   r   r?   r@   l    )r   r   r   r   r   r   )r   r   r   rD   rE   r   r   r   rF   r    r!   r"   rG   assertNotEqualrH   )r%   r&   r<   r'   r(   DISABLE_ALL_FILTERSr   rJ   s           r.   test_read_uncompressed_offsetsz2TestReadDirectChunk.test_read_uncompressed_offsets>   s   ;;==''))R  ((A..Yx%% 		g //9=9K6:U[6H6:<BAB 0 D DG #-J)))U]]__Re)fff		g 		g 		g 		g 		g 		g 		g 		g 		g 		g 		g 		g 		g 		g 		g Yx%% 	T )G,3J,H,H,S,S)K)	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T
 	K+++)5==??;;;;;s%   $ACCC-&DD#&D#c           
         |                                                                  }t          j        |d          5 }t	          j        d                              dd          }|                    d|dd          }|j        	                    d          \  }}|                    d	|j
        |j
        |j        |j        dd
          }|j                            d||           d d d            n# 1 swxY w Y   t          j        |d          5 }|d	         d         }t          j                            ||           d d d            d S # 1 swxY w Y   d S )Nr
   r:   r;   sourcer5   r=   r>   rC   created)rF   r   r   r   r?   r@   r   r   .)r   r   r   r   r   rD   rE   r   r    rG   rF   r   r   r!   r#   r$   )r%   r&   r'   r<   rI   r   rJ   r(   s           r.   test_read_write_chunkz)TestReadDirectChunk.test_read_write_chunkX   s   ;;==''))Yx%% 	] L$$,,Q22E&55h;@BHGH 6 J JM
 -:,<,N,Nv,V,V)K) //	6C6I9F9L7D7K6C6I<BAB 0 D DG J))&2BP[)\\\'	] 	] 	] 	] 	] 	] 	] 	] 	] 	] 	] 	] 	] 	] 	], Yx%% 	= +C0GM,,We<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	=s$   B,C44C8;C8/EEEN)r0   r1   r2   rK   rP   rT   r3   r4   r.   r8   r8   #   sA        1 1 12< < <4= = = = =r4   r8   c                       e Zd Zd Zej                            dej        j	        vd          d             Z
d Zd Zd Zd	S )
TestReadDirectChunkToOutc                    t          j        d                              dd          }|                    t	                      ||j                  }t          |j                  }|j        	                    d|          \  }}t          j
        t          j        ||j                                      |j                  |          sJ |dk    sJ t          |          |j        k    sJ d S )Nr:   r;   r   r   rC   outr   r   )r   rD   rE   r   r   rF   	bytearraynbytesr    rG   array_equal
frombufferr   len)r%   writable_fileref_datar(   rZ   r   chunks          r.   test_uncompressed_dataz/TestReadDirectChunkToOut.test_uncompressed_datax   s    <##++Aq11..KKhx~ / ? ? (($Z99&c9JJU S777??OO
 
 	
 	
 
 a5zzX_,,,,,,r4   r5   r6   )reasonc                    t          j        d                              dd          }|                    t	                      ||j        dd          }|j                            d          }t          |j	                  }|j        
                    |j        |          \  }}||j        k    sJ t          |          |j	        k    sJ ||j        
                    |j                  d         k    sJ d S )	Nr:   r;   r5   r=   )r   r   r?   r@   r   rY   r   )r   rD   rE   r   r   rF   r    get_chunk_infor\   sizerG   chunk_offsetr   r`   )r%   ra   rb   r(   
chunk_inforZ   r   rc   s           r.   test_compressed_dataz-TestReadDirectChunkToOut.test_compressed_data   s    
 <##++Aq11..KK> / 
 
 Z..q11

(($Z99# : 
 
U j444445zzZ_,,,,gj22:3JKKANNNNNNNr4   c                 r   t          j        d                              dd          }|                    t	                      ||j                  }t          |j        dz            }t          j	        t                    5  |j                            d|           d d d            d S # 1 swxY w Y   d S )Nr:   r;   rX      rC   rY   )r   rD   rE   r   r   rF   r\   r]   pytestraises
ValueErrorr    rG   r%   ra   rb   r(   rZ   s        r.   test_fail_buffer_too_smallz3TestReadDirectChunkToOut.test_fail_buffer_too_small   s    <##++Aq11..KKhx~ / ? ? 1,--]:&& 	: 	:J((S(999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:s   B,,B03B0c                 l   t          j        d                              dd          }|                    t	                      ||j                  }t          |j                  }t          j	        t                    5  |j                            d|           d d d            d S # 1 swxY w Y   d S )Nr:   r;   rX   rC   rY   )r   rD   rE   r   r   rF   bytesr]   rn   ro   BufferErrorr    rG   rq   s        r.   test_fail_buffer_readonlyz2TestReadDirectChunkToOut.test_fail_buffer_readonly   s    <##++Aq11..KKhx~ / ? ? HO$$];'' 	: 	:J((S(999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:s   ?B))B-0B-c                    t          j        d                              dd          }|                    t	                      ||j                  }t          j        |j        dz   |j                  }|d d d d d d df         }t          j	        t                    5  |j                            d|           d d d            d S # 1 swxY w Y   d S )	Nr:   r;   rX   )rm   r[   rm   rC   rY   )r   rD   rE   r   r   rF   emptyr   rn   ro   rp   r    rG   )r%   ra   rb   r(   r)   rZ   s         r.   test_fail_buffer_not_contiguousz8TestReadDirectChunkToOut.test_fail_buffer_not_contiguous   s   <##++Aq11..KKhx~ / ? ? HNT1HHHAAAqqq##A#I]:&& 	: 	:J((S(999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:s    C

CCN)r0   r1   r2   rd   rn   markskipifr   filtersr   rk   rr   rv   ry   r3   r4   r.   rV   rV   v   s        - - - [dl)))   O O	 O(: : :: : :: : : : :r4   rV   )r   r   numpy.testingrn   commonr   r   r   r   skipIfr|   r   r8   rV   r3   r4   r.   <module>r      s          + + + + + + + + + +F F F F F8 F F F4 6,,.HIIO= O= O= O= O=( O= O= JIO=dC: C: C: C: C: C: C: C: C: C:r4   