o
    qoiv
                     @   s^   d Z ddl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 namespace_config.    N)absltest)namespace_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 )NamespaceConfigTestc                 C   sL   t  }d|_d|_t|}| |tj | 	d|j | 	d|j d S )N   abc)
r   NamespaceConfigxyfdlbuildassertIsInstancetypesSimpleNamespaceassertEqualselfcfgobj r   b/home/ubuntu/.local/lib/python3.10/site-packages/fiddle/_src/experimental/namespace_config_test.pytest_simple   s   
zNamespaceConfigTest.test_simplec                 C   sR   ddd}t jdi |}t|}| |tj | d|j | d|j	 d S )Nr   xyz)abr   )
r   r   r
   r   r   r   r   r   r   r   )r   	test_dictr   r   r   r   r   test_initialize_from_dict%   s   

z-NamespaceConfigTest.test_initialize_from_dictc                    s    fdd t  }tj dd|_d|j_t jdd|j_d|_t|}| 	|t
j |  |jd	  | d|j | 	|jd
 d t
j | d|jd
 d j d S )Nc                     s    | fS )Nr   )kwargs	sample_fnr   r   r   /   s   z3NamespaceConfigTest.test_nesting.<locals>.sample_fnr   )r   {   here)very_insideiA  r   r   other_dictconfig)r   r   r
   Confignestedr	   r"   otherr   r   r   r   assertIsr   r!   r   r   r   r   test_nesting-   s    

z NamespaceConfigTest.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_copyA   s   
"zNamespaceConfigTest.test_copyz,Enable this after dropping pyhon 3.7 supportc                 C   s2   t  }d|_t }d|_| t|| d S )N   )r   r   r   r   r   r   r
   r   )r   r   expectedr   r   r   test_key_named_selfN   s
   z'NamespaceConfigTest.test_key_named_selfN)
__name__
__module____qualname__r   r   r'   r0   r   skipr3   r   r   r   r   r      s    	r   __main__)__doc__r+   r   absl.testingr   fiddler
   fiddle._src.experimentalr   TestCaser   r4   mainr   r   r   r   <module>   s   =