o
    ci                     @   s`   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 deZG dd de
Zd	S )
    )DictListOptional)Trial)ConcurrencyLimiterSearcher)SearchGeneratorc                       sh   e Zd Z fddZdefddZdedefddZ	
ddedee de	fddZ
defddZ  ZS )_MockSearcherc                    s>   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__r   I/home/ubuntu/.local/lib/python3.10/site-packages/ray/tune/search/_mock.pyr   	   s   z_MockSearcher.__init__trial_idc                 C   s   | j sd| j|< ddiS d S )N   test_variable   )r   r   )r   r   r   r   r   suggest   s   
z_MockSearcher.suggestr
   c                 C   s&   | j d  d7  < |  j|g7  _d S )Nr
   r   )r   r   )r   r   r
   r   r   r   on_trial_result   s   z_MockSearcher.on_trial_resultNFerrorc                 C   s:   | j d  d7  < |r| | || jv r| j|= d S d S )Nr   r   )r   _process_resultr   )r   r   r
   r   r   r   r   on_trial_complete   s   

z_MockSearcher.on_trial_completec                 C   s   |  j |g7  _ d S N)r   )r   r
   r   r   r   r    $   s   z_MockSearcher._process_result)NF)__name__
__module____qualname__r   strr   r   r   r   boolr!   r    __classcell__r   r   r   r   r	      s    
	r	   c                       sT   e Zd Zd
dee f fddZedee fddZ	edee
 fdd	Z  ZS )_MockSuggestionAlgorithmNmax_concurrentc                    s:   t di || _|rt| j|d| _tt| | j d S )N)r*   r   )r	   searcherr   r   r)   r   )r   r*   r   r   r   r   r   )   s   z!_MockSuggestionAlgorithm.__init__returnc                 C      | j jS r"   )r+   r   r   r   r   r   r   1      z$_MockSuggestionAlgorithm.live_trialsc                 C   r-   r"   )r+   r   r.   r   r   r   r   5   r/   z _MockSuggestionAlgorithm.resultsr"   )r#   r$   r%   r   intr   propertyr   r   r   r   r   r(   r   r   r   r   r)   (   s    r)   N)typingr   r   r   ray.tune.experimentr   ray.tune.searchr   r    ray.tune.search.search_generatorr   r	   r)   r   r   r   r   <module>   s     