3
Ud.                 @   s\   d dl Zd dlZd dlmZmZ d dljZG dd dZ	G dd de	Z
G dd de	ZdS )	    N)	DataFrameSeriesc               @   s   e Zd Zejdd ZejedddZejedddZe	dd	 Z
d
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )DotSharedTestsc             C   s   t d S )N)NotImplementedError)self r   Y/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/generic/methods/test_dot.pyobj	   s    zDotSharedTests.obj)returnc             C   s   t dS )zV
        other is a DataFrame that is indexed so that obj.dot(other) is valid
        N)r   )r   r   r   r   other   s    zDotSharedTests.otherc             C   s   t dS )z7
        The expected result of obj.dot(other)
        N)r   )r   r	   r   r   r   r   expected   s    zDotSharedTests.expectedc             C   s   t dS )zN
        Assertion about results with 1 fewer dimension that self.obj
        N)r   )clsresultr   r   r   r   reduced_dim_assert   s    z!DotSharedTests.reduced_dim_assertc             C   s   |j |}tj|| d S )N)dottmassert_equal)r   r	   r   r   r   r   r   r   test_dot_equiv_values_dot"   s    
z(DotSharedTests.test_dot_equiv_values_dotc             C   s$   |j |j}tj||jks td S )N)r   valuesnpallAssertionError)r   r	   r   r   r   r   r   r   test_dot_2d_ndarray'   s    z"DotSharedTests.test_dot_2d_ndarrayc             C   s>   |j dkr|jd n|}|j|j}|j|}| j|| d S )N   r   )ndimilocr   r   r   )r   r	   r   rowr   r   r   r   test_dot_1d_ndarray-   s    
z"DotSharedTests.test_dot_1d_ndarrayc             C   s"   |j |d }| j||d  d S )N1)r   r   )r   r	   r   r   r   r   r   r   test_dot_series5   s    zDotSharedTests.test_dot_seriesc             C   s.   |j |jd d d d }| j||d  d S )N   r   )r   r   r   )r   r	   r   r   r   r   r   r   test_dot_series_alignment:   s    z(DotSharedTests.test_dot_series_alignmentc             C   s*   |j d d d }|j|}tj|| d S )Nr    r!   )r   r   r   r   )r   r	   r   r   Zother2r   r   r   r   test_dot_aligns>   s    
zDotSharedTests.test_dot_alignsc             C   s6   d}t jt|d |j|jd d  W d Q R X d S )NzDot product shape mismatch)match   )pytestraises	Exceptionr   r   )r   r	   msgr   r   r   test_dot_shape_mismatchD   s    z&DotSharedTests.test_dot_shape_mismatchc          	   C   s.   d}t jt|d |j|j W d Q R X d S )Nzmatrices are not aligned)r$   )r&   r'   
ValueErrorr   T)r   r	   r   r)   r   r   r   test_dot_misalignedJ   s    z"DotSharedTests.test_dot_misalignedN)__name__
__module____qualname__r&   fixturer	   r   r   r   classmethodr   r   r   r   r   r"   r#   r*   r-   r   r   r   r   r      s   r   c               @   sB   e Zd Zejdd Zejdd Zejdd Zedd Z	d	S )
TestSeriesDotc             C   s   t tjjdddddgdS )N   pqrs)index)r   r   randomrandn)r   r   r   r   r	   Q   s    zTestSeriesDot.objc             C   s(   t tjjdddddgdddd	gd
jS )Nr%   r4   r   23r5   r6   r7   r8   )r9   columns)r   r   r:   r;   r,   )r   r   r   r   r   U   s    zTestSeriesDot.otherc             C   s   t tj|j|j|jdS )N)r9   )r   r   r   r   r>   )r   r	   r   r   r   r   r   [   s    zTestSeriesDot.expectedc             C   s   t j|| dS )zN
        Assertion about results with 1 fewer dimension that self.obj
        N)r   Zassert_almost_equal)r   r   r   r   r   r   r   _   s    z TestSeriesDot.reduced_dim_assertN)
r.   r/   r0   r&   r1   r	   r   r   r2   r   r   r   r   r   r3   P   s   r3   c               @   sB   e Zd Zejdd Zejdd Zejdd Zedd Z	d	S )
TestDataFrameDotc             C   s&   t tjjdddddgdddd	gd
S )Nr%   r4   abcr5   r6   r7   r8   )r9   r>   )r   r   r:   r;   )r   r   r   r   r	   h   s    zTestDataFrameDot.objc             C   s$   t tjjddddddgddgd	S )
Nr4   r   r5   r6   r7   r8   r   r<   )r9   r>   )r   r   r:   r;   )r   r   r   r   r   n   s    zTestDataFrameDot.otherc             C   s   t tj|j|j|j|jdS )N)r9   r>   )r   r   r   r   r9   r>   )r   r	   r   r   r   r   r   t   s    zTestDataFrameDot.expectedc             C   s"   t j||dd |jdkstdS )zN
        Assertion about results with 1 fewer dimension that self.obj
        F)Zcheck_namesN)r   Zassert_series_equalnamer   )r   r   r   r   r   r   r   z   s    z#TestDataFrameDot.reduced_dim_assertN)
r.   r/   r0   r&   r1   r	   r   r   r2   r   r   r   r   r   r?   g   s   r?   )Znumpyr   r&   Zpandasr   r   Zpandas._testingZ_testingr   r   r3   r?   r   r   r   r   <module>   s   
H