o
    qoi
                     @   sV   d Z ddlZddlmZ ddlZddlmZ G dd dejZ	e
dkr)e  dS dS )zTests for dict_config.    N)absltest)dict_configc                   @   s>   e Zd Zdd Zdd Zdd Zdd Zed	d
d Z	dS )DictConfigTestc                 C   sN   t  }d|_d|_t|}| |t | d|d  | d|d  d S )N   abcxy)	r   
DictConfigr   r   fdlbuildassertIsInstancedictassertEqual)selfcfgobj r   ]/home/ubuntu/.local/lib/python3.10/site-packages/fiddle/_src/experimental/dict_config_test.pytest_simple   s   
zDictConfigTest.test_simplec                 C   sT   ddd}t jdi |}t|}| |t | d|d  | d|d  d S )Nr   xyz)abr   r   r   )r   r	   r
   r   r   r   r   )r   	test_dictr   r   r   r   r   test_initialize_from_dict$   s   

z(DictConfigTest.test_initialize_from_dictc                    s    fdd t  }tj dd|_d|j_t jdd|j_d|_t|}| 	|t
 |  |d	 d
  ddddid}| ||d	 d  | d|d  | 	|d	 d d t
 | d|d	 d d d  d S )Nc                     s    | fS )Nr   )kwargs	sample_fnr   r   r   .   s   z.DictConfigTest.test_nesting.<locals>.sample_fnr   )r   {   here)very_insideiA  nestedr   r   )r   r   other_dictconfigr   otherr!   )r   r	   r
   Configr    r   r!   r"   r   r   r   assertIsr   )r   r   r   expected_innerr   r   r   test_nesting,   s(   
zDictConfigTest.test_nestingc                 C   s   t  }d|_d|_t|}| d | || W d    n1 s%w   Y  | d d|_| || W d    d S 1 sDw   Y  d S )Nr   r   copy_mantains_equality)mutation_on_copy_does_not_affect_originaldef)r   r	   r   r   copysubTestr   assertNotEqual)r   cfg1cfg2r   r   r   	test_copyG   s   
"zDictConfigTest.test_copyz,Enable this after dropping pyhon 3.7 supportc                 C   s&   t jdd}| t|ddi d S )N   )r   r   )r   r	   r   r
   r   )r   r   r   r   r   test_key_named_selfT   s   z"DictConfigTest.test_key_named_selfN)
__name__
__module____qualname__r   r   r&   r/   r   skipr1   r   r   r   r   r      s    	r   __main__)__doc__r*   absl.testingr   fiddler
   fiddle._src.experimentalr   TestCaser   r2   mainr   r   r   r   <module>   s   A