U
    Ç-eF  ã                   @   sÜ   d dl mZmZmZmZ d dlmZmZ d dlm	Z	 d dl
mZmZ d dlmZmZmZ d dlmZ d dlmZmZ edd	d	ƒZed
d	d	ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zedd„ ƒZdd„ Z dS )é    )ÚMatrixSymbolÚMatAddÚMatPowÚMatMul)ÚGenericZeroMatrixÚ
ZeroMatrix)Ú
ShapeError)ÚeyeÚImmutableMatrix)ÚAddÚBasicÚS)Úadd)ÚXFAILÚraisesÚXé   ÚYc                   C   s<   t ttddtttdd  kr2t ttƒ ¡ ks8n t‚d S )NT)Úevaluate)r   r   r   ÚdoitÚAssertionError© r   r   úm/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/matrices/expressions/tests/test_matadd.pyÚtest_evaluate   s    r   c                   C   s:   t ttƒ ¡ jtttƒ ¡ j  kr0ttfks6n t‚d S ©N)r   r   r   r   Úargsr   r   r   r   r   r   Útest_sort_key   s    r   c                   C   sH   t ttdƒtdƒƒjd tƒs"t‚t ttdƒtdƒƒjd tƒsDt‚d S )Né   r   )Ú
isinstancer   r	   r   r   r   r   r   r   r   r   Útest_matadd_sympify   s    "r   c                   C   sl   t tdƒdtdƒ tdƒƒ ¡ tdtdƒ ƒks4t‚ttdƒdtdƒ tdƒƒ ¡ tdtdƒ ƒksht‚d S )Nr   é   é   )r   r	   r   r
   r   r   r   r   r   r   Útest_matadd_of_matrices   s    4r"   c               	   C   sæ   t ddgddggƒ} t ddgddggƒ}t| t|dƒƒ ¡ | |d  ksLt‚t| t| |ƒƒ ¡ | | |  kspt‚t| tt| |ƒttd|  |ƒƒ ¡ t| tt| |ƒttd|  |ƒƒ ¡   krÜtd|  | |  | ttƒksân t‚d S )Nr   r   é   r    é   )	r
   r   r   r   r   r   r   r   r   ©ÚAÚBr   r   r   Útest_doit_args   s    $$""ÿþr(   c                   C   s$   t jtƒ kst‚t jtjks t‚d S r   )r   Úidentityr   r   r   ZZeror   r   r   r   Útest_generic_identity'   s    r*   c                   C   s(   t tddƒtddƒƒtddƒks$t‚d S )Nr   )r   r   r   r   r   r   r   Útest_zero_matrix_add,   s    r+   c                   C   s   t tdd„ ƒ d S )Nc                   S   s   t dtddƒƒS )Nr   r   )r   r   r   r   r   r   Ú<lambda>1   ó    z-test_matrix_Add_with_scalar.<locals>.<lambda>)r   Ú	TypeErrorr   r   r   r   Útest_matrix_Add_with_scalar/   s    r/   c                      sP   t dddƒ‰ t dddƒ‰tt‡ ‡fdd„ƒ t dddƒ‰ tt‡ ‡fdd„ƒ d S )Nr&   r   r#   r'   c                      s
   t ˆ ˆƒS r   ©r   r   r%   r   r   r,   7   r-   z"test_shape_error.<locals>.<lambda>c                      s
   t ˆ ˆƒS r   r0   r   r%   r   r   r,   :   r-   )r   r   r   r   r   r%   r   Útest_shape_error4   s
    r1   N)!Zsympy.matrices.expressionsr   r   r   r   Z"sympy.matrices.expressions.specialr   r   Zsympy.matrices.commonr   Zsympy.matricesr	   r
   Z
sympy.corer   r   r   Zsympy.core.addr   Zsympy.testing.pytestr   r   r   r   r   r   r   r"   r(   r*   r+   r/   r1   r   r   r   r   Ú<module>   s$   

