
    .Ph?                         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z  ej        d	z  d
          Z e            Z G d de          ZdS )   )TestBaseFileCreator    )SlidingWindowMapManagerStaticWindowMapManager)SlidingWindowMapBuffer)randint)timeNd         )window_sizemax_memory_sizemax_open_handlesc                       e Zd Zd ZdS )TestBufc                    t          | j        d          5 }t                              |j                  }|                     t          t           t          |                                 |                     t          t          ||j	                   t                      }|
                                J |                                 |                                 t          |          dk    sJ d}|                    ||j	                  dk    sJ |                    ||          dk    sJ t          |          |j	        |z
  k    sJ |
                                                                sJ |                                dk    sJ t          |          |j	        k    sJ |
                                                                sJ t          |j        d          5 }|                                }d d d            n# 1 swxY w Y   ||         |d         k    sJ |||dz           |d|         k    sJ |d         |t          |          d	z
           k    sJ |d
d          |t          |          dz
  t          |                   k    sJ |                                 |
                                                                rJ |
                                                                sJ |                                dk    r&|
                                                                sJ ~~t                                          d	k    sJ d}t'          j        |j        t&          j                  }|j        |fD ]}	t          dft*          dft,          dffD ]\  }
}t          |
                    |	                    }|
                                d	k    sJ t/          d          D ]}|}d}|j	        }t1                      }|                                 |r|d	z  }|rft3          d|          }t3          ||          }|||         }t          |          ||z
  k    sJ ||||         k    sJ |t          |          z  }~n)t3          d|          }||         ||         k    sJ |d	z  }||                                 |
                                sJ |
                                sJ |
                                dk    sJ t7          t1                      |z
  d          }t9          d          }|rdpd}t;          d|||t          |	          ||z  |||z  |z  fz  t<          j                   ~t'          j         |           d d d            d S # 1 swxY w 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_strs                           S/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/smmap/test/test_buf.pytest_basicszTestBuf.test_basics   s   0-@@ d	B ''00Aj*@'$q''))LLLj*@!RWMMM(**C::<<''' NNNNs88q==== F##Arw//58888##Av..$6666s88rw/////::<<((***** ##%%----s88rw&&&&::<<((***** bgt$$ !wwyy! ! ! ! ! ! ! ! ! ! ! ! ! ! !<3q6))))vz)*c!F(m;;;; r7c#c((Q,/////stt9CHHrM#c(($: ;;;;; NNzz||,,.....::<<--///// ##%%--#**,,2G2G2I2I---//11Q6666  #"+..B" ) ))4i(@)7(F)35E(F(H ( (OGV 11D1DT1J1JKKC"3355::::',Qxx !/ !/,<)$%	 "!VV((***/ /-2-* /,3Au,=,=	*1)U*C*C$'	'(9$:'*1vv91D'D'D'D'D'(D71B,C'C'C'C'C )SVV 3	$%A&-a&7&7'*3x49'<'<'<'< )Q	 0 /" (((&7799999&00000&7799Q>>>>"%dffrk5"9"9";//$/$;G#M  D!')98T$ZZQZ]_Q_ahktwyky  ~E  kE  !FF#&:/ / / / / Q(V HRLLLId	 d	 d	 d	 d	 d	 d	 d	 d	 d	 d	 d	 d	 d	 d	 d	 d	 d	s7   GV:)H
>V:
H	V:H	NV::V>V>N)__name__
__module____qualname__rR        rQ   r   r      s(        e e e e erW   r   )libr   r   
smmap.mmanr   r   	smmap.bufr   randomr	   r
   r6   r-   r   r   r/   r0   r   rV   rW   rQ   <module>r\      s   & & & & & & & &        - , , , , ,             



 				 &%''((+s2/14   $#%%
g g g g gh g g g g grW   