o
    h?                     @   s   d dl mZm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ZddlZe Zeejd ejd	 d
dZe ZG dd deZdS )   )TestBaseFileCreator    )SlidingWindowMapManagerStaticWindowMapManager)SlidingWindowMapBuffer)randint)timeNd         )window_sizemax_memory_sizemax_open_handlesc                   @   s   e Zd Zdd ZdS )TestBufc                 C   s  t | jd}t|j}| ttt|  | tt||j	 t }|
 d u s,J |  |  t|dks<J d}|||j	dksIJ |||dksSJ t||j	| ks^J |
  sfJ | dksnJ t||j	kswJ |
  sJ t|jd}| }W d    n1 sw   Y  || |d ksJ |||d  |d| ksJ |d |t|d	  ksJ |d
d  |t|d t| ksJ |  |
  rJ |
  sJ | dkr|
  sJ ~~t d	ksJ d}t|jtj}|j|fD ]}	tdftdftdffD ]\}
}t|
|	}|
 d	ks2J tdD ]}|}d}|j	}t }|  |r|d	8 }|r~td|}t||}||| }t||| kskJ |||| ksvJ |t|7 }~ntd|}|| || ksJ |d	7 }|sI|  |
 sJ |
 sJ |
 dksJ tt | d}td}|rdpd}td|||t|	|| ||| | f tjd q6~qqt | W d    d S 1 sw   Y  d S )Nbuffer_testr   r
   FTrb   r   i
   optimalz
worst casezstatic optimalgMbP?i@B slicezsingle bytezc%s: Made %i random %s accesses to buffer created from %s reading a total of %f mb in %f s (%f mb/s))file)!r   k_window_test_sizeman_optimalmake_cursorpathassertRaises
ValueErrorr   typesizecursor
end_accesslenbegin_accessis_validopenreadis_associatednum_file_handlesosO_RDONLYman_worst_case
static_manranger	   r   collectmaxfloatprintsysstderrclose)selffccbufoffsetfpdatamax_num_accessesfditemmanagerman_idaccess_modenum_accesses_left	num_bytesfsizest	ofs_startofs_enddposelapsedmbmode_str rN   G/var/www/vscode/kcb/lib/python3.10/site-packages/smmap/test/test_buf.pytest_basics   s   
 (


 
+$zTestBuf.test_basicsN)__name__
__module____qualname__rP   rN   rN   rN   rO   r      s    r   )libr   r   
smmap.mmanr   r   	smmap.bufr   randomr   r	   r3   r*   r   r   r,   r-   r   rN   rN   rN   rO   <module>   s    