
    Owg                         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                  j                  d	g d
      d        Zy)    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y)DotSharedTestsc                     t         NNotImplementedErrorselfs    Z/var/www/horilla/myenv/lib/python3.12/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                 R    |j                  |      }t        j                  ||       y 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                     |j                  |j                        }t        j                  ||j                  k(        sJ y r   )r   valuesnpallr!   s        r   test_dot_2d_ndarrayz"DotSharedTests.test_dot_2d_ndarray*   s1     &vvf/000r   c                     |j                   dk(  r|j                  d   n|}|j                  |j                        }|j                  |      }| j	                  ||       y )N   r   )ndimilocr   r$   r   )r   r   r   rowr   s        r   test_dot_1d_ndarrayz"DotSharedTests.test_dot_1d_ndarray0   sJ     XX]chhqk$773<1r   c                 V    |j                  |d         }| j                  ||d          y )N1)r   r   r!   s        r   test_dot_serieszDotSharedTests.test_dot_series8   s(    s$6r   c                 v    |j                  |j                  d d d   d         }| j                  ||d          y )Nr/   )r   r+   r   r!   s        r   test_dot_series_alignmentz(DotSharedTests.test_dot_series_alignment=   s6    DbD)#./6r   c                 v    |j                   d d d   }|j                  |      }t        j                  ||       y )Nr2   )r+   r   r   r    )r   r   r   r   other2r   s         r   test_dot_alignszDotSharedTests.test_dot_alignsA   s/    DbD!
)r   c                     d}t        j                  t        |      5  |j                  |j                  d d        d d d        y # 1 sw Y   y xY w)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 	$GGCJJrN#	$ 	$ 	$s   AAc                     d}t        j                  t        |      5  |j                  |j                         d d d        y # 1 sw Y   y xY w)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 	GGEGG	 	 	s   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27
7*$r   r   c                       e Zd Zej                  d        Zej                  d        Zej                  d        Zed        Z	y)TestSeriesDotc                 x    t        t        j                  j                  d      j	                  d      g d      S )Nr)      pqrsindex)r   r%   randomdefault_rngstandard_normalr   s    r   r   zTestSeriesDot.objT   s/    II!!!$44Q7?S
 	
r   c                     t        t        j                  j                  d      j	                  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   s9    II!!!$44V<!(
 !		r   c                     t        t        j                  |j                  |j                        |j                        S )NrS   )r   r%   r   r$   r]   r   s      r   r   zTestSeriesDot.expectedb   s&    bffSZZ6emmLLr   c                 0    t        j                  ||       y)r   N)r   assert_almost_equalr   s      r   r   z TestSeriesDot.reduced_dim_assertf   s    
 	vx0r   N
rD   rE   rF   r;   rG   r   r   r   rH   r   rI   r   r   rK   rK   S   s^    ^^
 

 ^^  ^^M M 1 1r   rK   c                       e Zd Zej                  d        Zej                  d        Zej                  d        Zed        Z	y)TestDataFrameDotc                 ~    t        t        j                  j                  d      j	                  d      g dg d      S )Nr)   rY   )abcrN   r\   r   r%   rU   rV   rW   r   s    r   r   zTestDataFrameDot.objo   s2    II!!!$44V<!(
 	
r   c                 ~    t        t        j                  j                  d      j	                  d      g dddg      S )Nr)   )rM   r)   rN   r/   rZ   r\   rh   r   s    r   r   zTestDataFrameDot.otherw   s6    II!!!$44V<&#J
 	
r   c                     t        t        j                  |j                  |j                        |j                  |j
                        S )Nr\   )r   r%   r   r$   rT   r]   r   s      r   r   zTestDataFrameDot.expected   s1    FF3::u||,CIIu}}
 	
r   c                 P    t        j                  ||d       |j                  J y)r   F)check_namesN)r   assert_series_equalnamer   s      r   r   z#TestDataFrameDot.reduced_dim_assert   s&    
 	vxU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||       }|j                  |      }t        ddgddgdd	gg|      }t	        j
                  ||       y )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KDq!fq!f%T?DXXd^F1a&1a&1a&1CH&(+r   )numpyr%   r;   pandasr   r   pandas._testing_testingr   r   rK   rc   markparametrizer   rI   r   r   <module>r      sd      E EP1N 16#~ #@ W	,		,r   