o
    ,wÖià  ã                   @   sB   d Z ddlmZ ddlZG dd„ dejƒZedkre ¡  dS dS )zTests for materialize.é    )ÚabsltestNc                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚMaterializeTestc                 C   sN   ddt dtfdd„}t |¡}|  i |j¡ t |¡ |  dddœ|j¡ d S )	Né   ÚabcÚxÚzc                 S   ó
   ~ ~~d S ©N© ©r   Úyr   r
   r
   úY/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/fiddle/_src/materialize_test.pyÚtest_defaulting_fn   ó   
zEMaterializeTest.test_materialize_defaults.<locals>.test_defaulting_fn)r   r   )r   r   )ÚintÚstrÚfdlÚConfigÚassertEqualÚ__arguments__Úmaterialize_defaults)Úselfr   Úcfgr
   r
   r   Útest_materialize_defaults   s
   

z)MaterializeTest.test_materialize_defaultsc                 C   s¾   G dd„ dƒ}ddt fdd„}t |¡}t |d¡t |¡g|_|  ddi|jd j¡ |  i |jd	 j¡ t |¡ |  dd
dœ|jd j¡ |  d
d
i|jd	 j¡ |  d|jd ¡ d S )Nc                   @   s   e Zd Zddefdd„ZdS )zBMaterializeTest.test_materialize_defaults_recursive.<locals>.InnerÚbc                 S   s   || _ || _d S r	   ©Úar   )r   r   r   r
   r
   r   Ú__init__'   s   
zKMaterializeTest.test_materialize_defaults_recursive.<locals>.Inner.__init__N)r   )Ú__name__Ú
__module__Ú__qualname__r   r   r
   r
   r
   r   ÚInner%   s    r!   r   r   c                 S   r   r	   r
   r   r
   r
   r   r   +   r   zOMaterializeTest.test_materialize_defaults_recursive.<locals>.test_defaulting_fnr   r   é   r   r   )r   )r   r   r   r   r   r   r   )r   r!   r   r   r
   r
   r   Ú#test_materialize_defaults_recursive#   s   

þ
z3MaterializeTest.test_materialize_defaults_recursiveN)r   r   r    r   r#   r
   r
   r
   r   r      s    r   Ú__main__)	Ú__doc__Úabsl.testingr   Úfiddler   ÚTestCaser   r   Úmainr
   r
   r
   r   Ú<module>   s   &ÿ