
    &`i                     z    d dl mZmZmZ d dlmZ d dlmZmZ d dl	m
Z
  G d de          Z G d de
          Zd	S )
    )DictListOptional)Trial)ConcurrencyLimiterSearcher)SearchGeneratorc                   j     e Zd Z fdZdefdZdedefdZ	 ddedee         de	fd	Z
defd
Z xZS )_MockSearcherc                     i | _         ddd| _        g | _        d| _        g | _         t          t          |           j        di | d S )Nr   )resultcompleteF )live_trialscounterfinal_resultsstallresultssuperr   __init__)selfkwargs	__class__s     i/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/ray/tune/search/_mock.pyr   z_MockSearcher.__init__	   sY    "#33
+mT""+55f55555    trial_idc                 0    | j         sd| j        |<   ddiS d S )N   test_variable   )r   r   )r   r   s     r   suggestz_MockSearcher.suggest   s)    z 	()*DX&#Q''tr   r   c                 R    | j         dxx         dz  cc<   | xj        |gz  c_        d S )Nr   r   )r   r   )r   r   r   s      r   on_trial_resultz_MockSearcher.on_trial_result   s6    X!# r   NFerrorc                     | j         dxx         dz  cc<   |r|                     |           || j        v r
| j        |= d S d S )Nr   r   )r   _process_resultr   )r   r   r   r$   s       r   on_trial_completez_MockSearcher.on_trial_complete   se     	Z   A%    	)  (((t''' *** ('r   c                 (    | xj         |gz  c_         d S N)r   )r   r   s     r   r&   z_MockSearcher._process_result$   s    vh&r   )NF)__name__
__module____qualname__r   strr!   r   r#   r   boolr'   r&   __classcell__r   s   @r   r   r      s        6 6 6 6 6    ! !T ! ! ! !
 KP+ ++%-d^+CG+ + + +'d ' ' ' ' ' ' ' 'r   r   c                        e Zd Zddee         f fdZedee         fd            Z	edee
         fd            Z xZS )_MockSuggestionAlgorithmNmax_concurrentc                     t          di || _        |rt          | j        |          | _        t          t          |                               | j                   d S )N)r3   r   )r   searcherr   r   r2   r   )r   r3   r   r   s      r   r   z!_MockSuggestionAlgorithm.__init__)   sf    %//// 	.n  DM 	&--66t}EEEEEr   returnc                     | j         j        S r)   )r5   r   r   s    r   r   z$_MockSuggestionAlgorithm.live_trials1   s    }((r   c                     | j         j        S r)   )r5   r   r8   s    r   r   z _MockSuggestionAlgorithm.results5   s    }$$r   r)   )r*   r+   r,   r   intr   propertyr   r   r   r   r   r/   r0   s   @r   r2   r2   (   s        F Fx} F F F F F F )T%[ ) ) ) X) %d % % % X% % % % %r   r2   N)typingr   r   r   ray.tune.experimentr   ray.tune.searchr   r    ray.tune.search.search_generatorr	   r   r2   r   r   r   <module>r@      s    ' ' ' ' ' ' ' ' ' ' % % % % % % 8 8 8 8 8 8 8 8 < < < < < <' ' ' ' 'H ' ' '@% % % % % % % % % %r   