a
    Gb                     @   sX   d dl Z d dlmZ d dlZe jdg ddd Zdd ZG d	d
 d
Z	dd Z
dS )    NAbstractMethodErrorexc)ZUnsupportedFunctionCallZUnsortedIndexErrorOutOfBoundsDatetimeZParserErrorZPerformanceWarningZDtypeWarningZEmptyDataErrorZParserWarningZ
MergeErrorZOptionErrorZNumbaUtilErrorc                 C   s^   ddl m} t|| }|d us"J d}tj||d | W d    n1 sP0    Y  d S )Nr   errorsz^$match)pandasr   getattrpytestraises)r   r   errmsg r   7lib/python3.9/site-packages/pandas/tests/test_errors.pytest_exception_importable   s    
r   c                  C   sN   ddl m}  d}tj| j|d td W d    n1 s@0    Y  d S )Nr   r   z7Out of bounds nanosecond timestamp: 1500-01-01 00:00:00r   Z15000101)r
   r   r   r   r   pdZ	Timestamp)r   r   r   r   r   test_catch_oob&   s    r   c                   @   s,   e Zd Zedd Zedd Zdd ZdS )Fooc                 C   s   t | ddd S )NclassmethodZ
methodtyper   )clsr   r   r   r   /   s    zFoo.classmethodc                 C   s   t | ddd S )Npropertyr   r   selfr   r   r   r   3   s    zFoo.propertyc                 C   s   t | d S )Nr   r   r   r   r   method7   s    z
Foo.methodN)__name__
__module____qualname__r   r   r   r   r   r   r   r   .   s
   

r   c                  C   s   d} t jt| d t  W d    n1 s00    Y  d} t jt| d t j W d    n1 sj0    Y  d} t jt| d t   W d    n1 s0    Y  d S )Nz:This classmethod must be defined in the concrete class Foor   z7This property must be defined in the concrete class Fooz5This method must be defined in the concrete class Foo)r   r   r   r   r   r   r   )Zxprr   r   r   $test_AbstractMethodError_classmethod;   s    &&r    )r   Zpandas.errorsr   r
   r   ZmarkZparametrizer   r   r   r    r   r   r   r   <module>   s   
