
    d;                         d dl Zd dlZd dlmZmZ d dlmZ  G d d          Z	 G d de	          Z
 G d de	          ZdS )	    N)	DataFrameSeriesc                       e Zd Zej        d             Zej        defd            Zej        defd            Ze	d             Z
d Zd Zd Zd	 Zd
 Zd Zd Zd ZdS )DotSharedTestsc                     t           NNotImplementedErrorselfs    _/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/frame/methods/test_dot.pyobjzDotSharedTests.obj   s    !!    returnc                     t           )zV
        other is a DataFrame that is indexed so that obj.dot(other) is valid
        r	   r   s    r   otherzDotSharedTests.other   
    
 "!r   c                     t           )z7
        The expected result of obj.dot(other)
        r	   r   r   r   s      r   expectedzDotSharedTests.expected   r   r   c                     t           )N
        Assertion about results with 1 fewer dimension that self.obj
        r	   clsresultr   s      r   reduced_dim_assertz!DotSharedTests.reduced_dim_assert   r   r   c                 Z    |                     |          }t          j        ||           d S r   )dottmassert_equalr   r   r   r   r   s        r   test_dot_equiv_values_dotz(DotSharedTests.test_dot_equiv_values_dot%   s)    
)))))r   c                 x    |                     |j                  }t          j        ||j        k              sJ d S r   )r   valuesnpallr!   s        r   test_dot_2d_ndarrayz"DotSharedTests.test_dot_2d_ndarray*   s:     &&vf/0000000r   c                     |j         dk    r|j        d         n|}|                    |j                  }|                    |          }|                     ||           d S )N   r   )ndimilocr   r$   r   )r   r   r   rowr   s        r   test_dot_1d_ndarrayz"DotSharedTests.test_dot_1d_ndarray0   sY     X]]chqkk$$773<<11111r   c                 t    |                     |d                   }|                     ||d                    d S )N1)r   r   r!   s        r   test_dot_serieszDotSharedTests.test_dot_series8   s7    s$$66666r   c                     |                     |j        d d d         d                   }|                     ||d                    d S )Nr/   )r   r+   r   r!   s        r   test_dot_series_alignmentz(DotSharedTests.test_dot_series_alignment=   sE    DDbD)#.//66666r   c                 z    |j         d d d         }|                    |          }t          j        ||           d S )Nr2   )r+   r   r   r    )r   r   r   r   other2r   s         r   test_dot_alignszDotSharedTests.test_dot_alignsA   s;    DDbD!
)))))r   c                     d}t          j        t          |          5  |                    |j        d d                    d d d            d S # 1 swxY w Y   d S )NzDot product shape mismatchmatch   )pytestraises	Exceptionr   r$   )r   r   msgs      r   test_dot_shape_mismatchz&DotSharedTests.test_dot_shape_mismatchG   s    *]9C000 	$ 	$GGCJrrN###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s   #AAAc                     d}t          j        t          |          5  |                    |j                   d d d            d S # 1 swxY w Y   d S )Nzmatrices are not alignedr8   )r;   r<   
ValueErrorr   T)r   r   r   r>   s       r   test_dot_misalignedz"DotSharedTests.test_dot_misalignedM   s    (]:S111 	 	GGEG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AA
A
N)__name__
__module____qualname__r;   fixturer   r   r   r   classmethodr   r"   r'   r-   r0   r3   r6   r?   rC    r   r   r   r      s       ^" " ^" ^"y " " " ^" ^"i " " " ^" " " ["* * *
1 1 12 2 27 7 7
7 7 7* * *$ $ $    r   r   c                       e Zd Zej        d             Zej        d             Zej        d             Zed             Z	dS )TestSeriesDotc                 b    t          t          j                            d          g d          S )N   pqrsindex)r   r%   randomrandnr   s    r   r   zTestSeriesDot.objT   s*    biooa((0D0D0DEEEEr   c                 t    t          t          j                            dd          g dg d          j        S )Nr:   rM   )r/   23rN   rT   columns)r   r%   rU   rV   rB   r   s    r   r   zTestSeriesDot.otherX   s>    IOOAq!!BVBVBV
 
 

	r   c                 h    t          t          j        |j        |j                  |j                  S )NrS   )r   r%   r   r$   r[   r   s      r   r   zTestSeriesDot.expected^   s'    bfSZ66emLLLLr   c                 0    t          j        ||           dS )r   N)r   assert_almost_equalr   s      r   r   z TestSeriesDot.reduced_dim_assertb   s    
 	vx00000r   N
rD   rE   rF   r;   rG   r   r   r   rH   r   rI   r   r   rK   rK   S   s        ^F F ^F ^  ^
 ^M M ^M 1 1 [1 1 1r   rK   c                       e Zd Zej        d             Zej        d             Zej        d             Zed             Z	dS )TestDataFrameDotc                 j    t          t          j                            dd          g dg d          S )Nr:   rM   )abcrN   rZ   r   r%   rU   rV   r   s    r   r   zTestDataFrameDot.objk   s;    IOOAq!!BVBVBV
 
 
 	
r   c                 j    t          t          j                            dd          g dddg          S )NrM   r)   rN   r/   rX   rZ   rf   r   s    r   r   zTestDataFrameDot.otherq   s;    IOOAq!!)=)=)=Sz
 
 
 	
r   c                 t    t          t          j        |j        |j                  |j        |j                  S )NrZ   )r   r%   r   r$   rT   r[   r   s      r   r   zTestDataFrameDot.expectedw   s4    F3:u|,,CIu}
 
 
 	
r   c                 F    t          j        ||d           |j        J dS )r   F)check_namesN)r   assert_series_equalnamer   s      r   r   z#TestDataFrameDot.reduced_dim_assert}   s0    
 	vxUCCCC{"""""r   Nr_   rI   r   r   ra   ra   j   s        ^
 
 ^

 ^
 
 ^

 ^
 
 ^

 # # [# # #r   ra   )numpyr%   r;   pandasr   r   pandas._testing_testingr   r   rK   ra   rI   r   r   <module>rq      s                     E E E E E E E EP1 1 1 1 1N 1 1 1.# # # # #~ # # # # #r   