a
    kh                     @   s   d dl mZ d dlmZ d dlmZmZmZmZ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 edeeZedee	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d ZdS )    )MatrixSliceMatrixSymbol)abcdklmn)raisesXFAIL)floor)assumingQXYc                  C   s2   t tttfttf} | jtt tt fks.J d S N)r   r   r   r   r   r   shapeB r   Y/var/www/auris/lib/python3.9/site-packages/sympy/matrices/expressions/tests/test_slice.py
test_shape   s    r   c                  C   s   t tttfttf} | d tttf ks,J | ttf ttt tt f ksPJ tt	dd  tdd dd d f d td ksJ td d dd df d td ksJ d S )	Nr   r   c                   S   s   t tddd S )N         )r   r   )r   r   r   r   r   r   <lambda>       ztest_entry.<locals>.<lambda>r   r   r      )r#   r#   )r#   r   )
r   r   r   r   r   r   r	   r
   r   
IndexErrorr   r   r   r   
test_entry   s    $&r%   c                   C   s8   t tttfttfjrJ t tttfttfjs4J d S r   )r   r   r   r   r   r   Zon_diagr   r   r   r   test_on_diag   s    r&   c                   C   s6   t tddt tddksJ t tddjdks2J d S )Nr   r   )r   r   r"   )r   r   r   r   r   r   r   test_inputs   s    r'   c                   C   s  t ddddf tt ddks$J t dddf tt ddksDJ t ddd d f jdt jd fkslJ t d d ddf jt jd dfksJ t d d dd d df jttd ttd fksJ t dd d f tt ddtfksJ t td d f tt tdtfksJ d S )Nr   r   r      )r   r   )r   r(   r   )r   r   r   r   r   r   r	   r   r   r   r   test_slicing!   s    $ ((6$r)   c                      sF   t ddd tt fdd tt fdd tt fdd d S )Nx
      c                      s    dddf S )Nr      r   r   r   r   r   r   r    -   r!   z!test_exceptions.<locals>.<lambda>c                      s    dddf S )Nr   	      r   r   r.   r   r   r    .   r!   c                      s    dddf S )Nr   r   r   r   r.   r   r   r    /   r!   )r   r   r$   r   r   r.   r   test_exceptions+   s    r2   c                  C   sp   t ddd} | d ddd f }tt| . |j| dd d df ksNJ W d    n1 sb0    Y  d S )Nr*   r+   r   )r   r   r   Z	symmetricT)r   r   r   r   r   test_symmetry1   s    r4   c                  C   s   t ddd} | dd d f d d df d | d ks8J | d dd df d dd df | d dd df kstJ | d	ddd
f d	ddf | dddf ksJ | d	dddd
f d	ddf | ddddf ksJ d S )Nr*   r+   r   r#   r   )r   r#   r   r(   r      r/      r   r.   r   r   r   test_slice_of_slice8   s
    ,<4r7   c                  C   s4   t ddd} | dd d f | dd d f ks0J d S )Nr*   r+   r1   r/   r   r.   r   r   r   test_negative_index?   s    r8   N) Z sympy.matrices.expressions.slicer   Zsympy.matrices.expressionsr   Z	sympy.abcr   r   r   r   r	   r
   r   r   Zsympy.testing.pytestr   r   Z#sympy.functions.elementary.integersr   Zsympy.assumptionsr   r   r   r   r   r%   r&   r'   r)   r2   r4   r7   r8   r   r   r   r   <module>   s"   (	

