o
    ,wi	                     @   s   d Z ddlZddlZddlZddlmZ ddlmZ ddlm	Z	 ddlm
Z
 ejddG d	d
 d
ZejddG dd dZG dd dejejZedkrUe  dS dS )zTests for history.    N)logging)absltest)building)configT)frozenc                   @   s   e Zd ZU eed< eed< dS )FooxyN__name__
__module____qualname__int__annotations__ r   r   V/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/fiddle/_src/building_test.pyr      s   
 r   c                   @   s   e Zd ZU eed< dS )Barr   Nr
   r   r   r   r   r   !   s   
 r   c                       sX   e Zd Z fddZ fddZdd Zdd Zd	d
 Zdd Zdd Z	dd Z
  ZS )NonBuildableLoggingTestc                    s$   t    t | _ttj d S N)supersetUpr   get_verbosity
_log_levelset_verbosityWARNINGself	__class__r   r   r   (   s   

zNonBuildableLoggingTest.setUpc                    s   t    t| j d S r   )r   tearDownr   r   r   r   r   r   r   r   -      
z NonBuildableLoggingTest.tearDownc                 C   s   |j d }| d| d S )Nr   z&No Buildables found in value passed to)outputassertIn)r   
log_outputlog_txtr   r   r   _check_log_output1   r    z)NonBuildableLoggingTest._check_log_outputc                 C   s^   t tdd}tjdd}td t| | | W d    d S 1 s(w   Y  d S )N      Trecordalways	r   Configr   warningscatch_warningssimplefilterr   buildassertEmpty)r   foor#   r   r   r   test_config5   s   

"z#NonBuildableLoggingTest.test_configc                 C   sF   | j dd}tt | | W d    d S 1 sw   Y  d S Nr   level)
assertLogsr   r0   r   r%   r   r#   r   r   r   test_non_traversable<      
"z,NonBuildableLoggingTest.test_non_traversablec                 C   sF   | j dd}ti  | | W d    d S 1 sw   Y  d S r4   )r7   r   r0   r%   r8   r   r   r   test_empty_traversableA   r:   z.NonBuildableLoggingTest.test_empty_traversablec                 C   sP   | j dd}ttd}t| | | W d    d S 1 s!w   Y  d S )Nr   r5   )ab)r7   r   r   r   r0   r%   )r   r#   valuer   r   r   test_traversable_wo_buildableF   s
   

"z5NonBuildableLoggingTest.test_traversable_wo_buildablec                 C   sz   t tdd}t tdd}d||di}tjdd}td	 t| | | W d    d S 1 s6w   Y  d S )
Nr&   r'         r<   )r=   cTr(   r*   r+   )r   foo_1foo_2r>   r#   r   r   r   test_traversable_w_buildableL   s   

"z4NonBuildableLoggingTest.test_traversable_w_buildable)r   r   r   r   r   r%   r3   r9   r;   r?   rE   __classcell__r   r   r   r   r   &   s    r   __main__)__doc__dataclassesunittestr-   abslr   absl.testingr   fiddle._srcr   r   	dataclassr   r   TestCaser   r   mainr   r   r   r   <module>   s    

0