o
    *ThC  ã                   @   sX   d dl mZ d dlmZ d dlmZ G dd„ deƒZG dd„ deƒZG dd	„ d	eƒZd
S )é    )Únan)ÚTestCase)Úequalc                   @   s   e Zd Zdd„ Zdd„ ZdS )Ú	TestEqualc                 C   s   |   td d ƒ¡ d S ©N©Ú
assertTruer   ©Úself© r   ú\/home/air/segue/gemini/back/venv/lib/python3.10/site-packages/jsonschema/tests/test_utils.pyÚ	test_none   ó   zTestEqual.test_nonec                 C   s   |   tttƒ¡ d S r   )r   r   r   r	   r   r   r   Útest_nan   r   zTestEqual.test_nanN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r      s    r   c                   @   ól   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ ZdS )ÚTestDictEqualc                 C   ó(   dddœ}dddœ}|   t||ƒ¡ d S ©NÚbÚd©ÚaÚc©r   r   r   ©r
   Údict_1Údict_2r   r   r   Útest_equal_dictionaries   ó   

z%TestDictEqual.test_equal_dictionariesc                 C   s(   t ddœ}dt dœ}|  t||ƒ¡ d S )Nr   r   r   ©r   r   r   r   r   r   r   Ú test_equal_dictionaries_with_nan   r!   z.TestDictEqual.test_equal_dictionaries_with_nanc                 C   r   )Nr   r   r   )r   Úx©ÚassertFalser   r   r   r   r   Útest_missing_key   r!   zTestDictEqual.test_missing_keyc                 C   s*   dddœ}ddddœ}|   t||ƒ¡ d S )Nr   r   r   r$   )r   r   r$   r%   r   r   r   r   Útest_additional_key   s   
z!TestDictEqual.test_additional_keyc                 C   s(   dddœ}dddœ}|   t||ƒ¡ d S ©Nr   r   r   r$   r   r%   r   r   r   r   Útest_missing_value$   r!   z TestDictEqual.test_missing_valuec                 C   s   i }i }|   t||ƒ¡ d S r   r   r   r   r   r   Útest_empty_dictionaries)   ó   z%TestDictEqual.test_empty_dictionariesc                 C   s"   d }dddœ}|   t||ƒ¡ d S ©Nr   r   r   r%   r   r   r   r   Útest_one_none.   s   
zTestDictEqual.test_one_nonec                 C   s   dddœ}|   t||ƒ¡ d S r-   r   )r
   r   r   r   r   Útest_same_item3   s   
zTestDictEqual.test_same_itemc                 C   s4   dddœddœ}ddddœdœ}|   t||ƒ¡ d S r   r   r   r   r   r   Útest_nested_equal7   ó   zTestDictEqual.test_nested_equalc                 C   s4   dddœddœ}ddddœdœ}|   t||ƒ¡ d S r)   r%   r   r   r   r   Útest_nested_dict_unequal<   r1   z&TestDictEqual.test_nested_dict_unequalc                 C   s0   g d¢ddœ}dg d¢dœ}|   t||ƒ¡ d S )N©r   r   r   r   r   r   r   r   r   r   r   r   Útest_mixed_nested_equalA   ó   z%TestDictEqual.test_mixed_nested_equalc                 C   s0   g d¢ddœ}dg d¢dœ}|   t||ƒ¡ d S )Nr3   r   r   )r   r   r   r   r   r%   r   r   r   r   Útest_nested_list_unequalF   r5   z&TestDictEqual.test_nested_list_unequalN)r   r   r   r    r#   r'   r(   r*   r+   r.   r/   r0   r2   r4   r6   r   r   r   r   r      s    r   c                   @   r   )ÚTestListEqualc                 C   ó$   g d¢}g d¢}|   t||ƒ¡ d S ©N©r   r   r   r   ©r
   Úlist_1Úlist_2r   r   r   Útest_equal_listsM   ó   zTestListEqual.test_equal_listsc                 C   s(   dt dg}dt dg}|  t||ƒ¡ d S )Nr   r   r"   r;   r   r   r   Útest_equal_lists_with_nanR   r!   z'TestListEqual.test_equal_lists_with_nanc                 C   s$   g d¢}g d¢}|   t||ƒ¡ d S )Nr:   )r   r   r   r%   r;   r   r   r   Útest_unsorted_listsW   r?   z!TestListEqual.test_unsorted_listsc                 C   s$   g d¢}ddg}|   t||ƒ¡ d S )Nr:   r   r   r%   r;   r   r   r   Útest_first_list_larger\   r?   z$TestListEqual.test_first_list_largerc                 C   s$   ddg}g d¢}|   t||ƒ¡ d S )Nr   r   r:   r%   r;   r   r   r   Útest_second_list_largera   r?   z%TestListEqual.test_second_list_largerc                 C   sD   g d¢}g d¢}|   t||ƒ¡ g d¢}g d¢}|   t||ƒ¡ d S )N)r   r   Nr:   )Nr   r   r%   r;   r   r   r   Útest_list_with_none_unequalf   s   z)TestListEqual.test_list_with_none_unequalc                 C   r8   )N)r   Nr   r   r;   r   r   r   Útest_list_with_none_equalo   r?   z'TestListEqual.test_list_with_none_equalc                 C   s   g }g }|   t||ƒ¡ d S r   r   r;   r   r   r   Útest_empty_listt   r,   zTestListEqual.test_empty_listc                 C   s   d }g }|   t||ƒ¡ d S r   r%   r;   r   r   r   r.   y   r,   zTestListEqual.test_one_nonec                 C   s   g d¢}|   t||ƒ¡ d S r9   r   )r
   r<   r   r   r   Útest_same_list~   s   zTestListEqual.test_same_listc                 C   s0   dddgdg}dddgdg}|   t||ƒ¡ d S ©Nr   r   r   r   r   r;   r   r   r   Útest_equal_nested_lists‚   r5   z%TestListEqual.test_equal_nested_listsc                 C   s,   dddgdg}dg dg}|   t||ƒ¡ d S rH   r%   r;   r   r   r   Útest_unequal_nested_lists‡   s   
z'TestListEqual.test_unequal_nested_listsN)r   r   r   r>   r@   rA   rB   rC   rD   rE   rF   r.   rG   rI   rJ   r   r   r   r   r7   L   s    	r7   N)	Úmathr   Úunittestr   Újsonschema._utilsr   r   r   r7   r   r   r   r   Ú<module>   s    =