o
    թZhA                     @   sJ   d dl Z d dlZd dlZd dlmZmZmZ d dlm	Z
 G dd dZdS )    N)	DataFrameIndexSeriesc                   @   s   e Zd Zdd Zdd ZdS )
TestMatMulc                 C   s~  t tjddg dg dd}t tjddg dddgd}t||}t t|j|jg dddgd}t	
|| t||j}tt|j|jjg dd	}t	|| t|j|}t|t skJ |j|jstJ |jttd
sJ t|j|j}t	|j| t|j |}t t|j|jg dddgd}t	|j|j |j t|d< t||}t t|j|jg dddgd}t	
|| |t}t||}t t|j|jg dddgd}t	
|| t tjddg dtdd}t tjddtdg dd}tjtdd t|| W d    d S 1 s8w   Y  d S )N   )      )abc)pqrs)indexcolumns)r   r   onetwo)r   r   r   )   r   r   r      r   r   Zalignedmatch)r   nprandomdefault_rngZstandard_normaloperatormatmuldotvaluestmZassert_frame_equalr   r   Zassert_series_equal
isinstancer   equalsr   r   rangeZassert_almost_equaltolistr   roundZastypeintpytestraises
ValueError)selfr	   r
   resultexpecteddfZdf2 r.   ]/var/www/html/lang_env/lib/python3.10/site-packages/pandas/tests/frame/methods/test_matmul.pytest_matmul   sl   
$zTestMatMul.test_matmulc                 C   s   t jdd}t jdd}t|}d}tjt|d ||  W d    n1 s.w   Y  tjt|d | |  W d    d S 1 sLw   Y  d S )Nr   )
   r   r   z)shapes \(10, 4\) and \(5, 3\) not alignedr   )r   r   r   r   r'   r(   r)   r$   )r*   r	   r
   r-   msgr.   r.   r/   test_matmul_message_shapesV   s   
"z%TestMatMul.test_matmul_message_shapesN)__name__
__module____qualname__r0   r3   r.   r.   r.   r/   r      s    Gr   )r   numpyr   r'   Zpandasr   r   r   Zpandas._testingZ_testingr    r   r.   r.   r.   r/   <module>   s    