
    bMh                         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ej                            d	g d
          d             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    c/var/www/html/test/jupyter/venv/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                     t          t          j                            d                              d          g d          S )Nr)      pqrsindex)r   r%   randomdefault_rngstandard_normalr   s    r   r   zTestSeriesDot.objT   sC    I!!!$$44Q77?S?S?S
 
 
 	
r   c                     t          t          j                            d                              d          g dg d          j        S )Nr)   r:   rM   )r/   23rN   rT   columns)r   r%   rU   rV   rW   rB   r   s    r   r   zTestSeriesDot.otherZ   sO    I!!!$$44V<<!//(((
 
 
 		r   c                 h    t          t          j        |j        |j                  |j                  S )NrS   )r   r%   r   r$   r]   r   s      r   r   zTestSeriesDot.expectedb   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_assertf   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        ^
 
 ^

 ^  ^ ^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                     t          t          j                            d                              d          g dg d          S )Nr)   rY   )abcrN   r\   r   r%   rU   rV   rW   r   s    r   r   zTestDataFrameDot.objo   sJ    I!!!$$44V<<!//(((
 
 
 	
r   c                     t          t          j                            d                              d          g dddg          S )Nr)   )rM   r)   rN   r/   rZ   r\   rh   r   s    r   r   zTestDataFrameDot.otherw   sJ    I!!!$$44V<<&&&#J
 
 
 	
r   c                 t    t          t          j        |j        |j                  |j        |j                  S )Nr\   )r   r%   r   r$   rT   r]   r   s      r   r   zTestDataFrameDot.expected   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   Nra   rI   r   r   rc   rc   n   s        ^
 
 ^
 ^
 
 ^
 ^
 
 ^

 # # [# # #r   rc   zdtype,exp_dtype))Float32Float64)Int16Int32)zfloat[pyarrow]zdouble[pyarrow]c                 $   t          j        d           ddg}t          ddgddgdd	gg|d
          }t          ddgddgg||           }|                    |          }t          ddgddgdd	gg|          }t	          j        ||           d S )Npyarrowre   rf      r)   r:   rM         int32)r]   dtyper   )rT   ry   )ry   )r;   importorskipr   r   r   assert_frame_equal)ry   	exp_dtypecolsdf_adf_br   r   s          r   test_arrow_dtyper      s    
 	""":Dq!fq!fq!f-t7KKKDq!fq!f%T???DXXd^^F1a&1a&1a&1CCCH&(+++++r   )numpyr%   r;   pandasr   r   pandas._testing_testingr   r   rK   rc   markparametrizer   rI   r   r   <module>r      s"                    E E E E E E E EP1 1 1 1 1N 1 1 16# # # # #~ # # #@ WWW 	, 	,	 	, 	, 	,r   