U
    Cvf                     @   s(   d dl Z d dlmZ dd Zdd ZdS )    N)_deprecate_positional_argsc               	   C   s  t dddddd} | dd}|d	ks.t| ddd
dd}|dksJttjtdd | ddd
}W 5 Q R X |dks|ttjtdd | ddd
}W 5 Q R X |dksttjtdd | ddd
d}W 5 Q R X |dkstt dd$dddddd}tjtdd |dd}W 5 Q R X |d	ks0tt ddddd}tjtdd |dd}W 5 Q R X |ddi fks~ttjtdd |dddd}W 5 Q R X |ddddifkstt ddddd}|d}|ddi fkst|dddd}|ddddifksttjtdd |dddd}W 5 Q R X |ddddifksVttjtd d t dd
d!d"d#}W 5 Q R X d S )%Nv0.1cdr   r   c                S   s   | |||fS N abr   r   r   r   I/tmp/pip-unpacked-wheel-h316xyqg/xarray/tests/test_deprecation_helpers.pyf1   s    z=test_deprecate_positional_args_warns_for_function.<locals>.f1      r   r   r   r         r   r   r   r   .*v0.1matchr   r   r   r   Passing 'c' as positionalPassing 'c, d' as positionalr
   r   )r   r   r   c                S   s   | |||fS r   r   r	   r   r   r   f2   s    z=test_deprecate_positional_args_warns_for_function.<locals>.f2Passing 'b' as positionalr   c                [   s
   | ||fS r   r   r
   r   kwargsr   r   r   f3%   s    z=test_deprecate_positional_args_warns_for_function.<locals>.f3fr    c               [   s
   | ||fS r   r   r   r   r   r   f41   s    z=test_deprecate_positional_args_warns_for_function.<locals>.f4r   r    "Keyword-only param without defaultr   c                [   s   d S r   r   )r
   r   r   r   r   r   r   f5A   s    z=test_deprecate_positional_args_warns_for_function.<locals>.f5)r
   )r   AssertionErrorpytestwarnsFutureWarningraises	TypeError)r   resultr   r   r"   r&   r   r   r   1test_deprecate_positional_args_warns_for_function   sP    
r.   c               	   C   s  G dd d} |   dd}|dks(t|  j ddddd}|d	ksHttjtd
d |   ddd}W 5 Q R X |dks~ttjtdd |   ddd}W 5 Q R X |dksttjtdd |   dddd}W 5 Q R X |d	kstG dd d}tjtdd |  ddd}W 5 Q R X |dks2ttjtdd |  dddd}W 5 Q R X |d	ksltG dd d}tjtdd |  dd}W 5 Q R X |ddi fksttjtdd | j dddd}W 5 Q R X |ddddifkstG dd d}|  d}|ddi fks(t| j dddd}|ddddifksRttjtdd | j dddd}W 5 Q R X |ddddifksttjtdd G dd d}W 5 Q R X d S )Nc                   @   s$   e Zd ZeddddddZdS )z:test_deprecate_positional_args_warns_for_class.<locals>.A1r   r   r   r   c                S   s   ||||fS r   r   selfr
   r   r   r   r   r   r   methodH   s    zAtest_deprecate_positional_args_warns_for_class.<locals>.A1.methodN__name__
__module____qualname__r   r1   r   r   r   r   A1G   s   r6   r   r   r   r   r   r   r   r   r   r   r   r   c                   @   s&   e Zd Zedd	dddddZdS )
z:test_deprecate_positional_args_warns_for_class.<locals>.A2r   r   r   r   r   c                S   s   ||||fS r   r   r/   r   r   r   r1   _   s    zAtest_deprecate_positional_args_warns_for_class.<locals>.A2.methodN)r   r   r2   r   r   r   r   A2^   s   r7   c                   @   s"   e Zd ZedddddZdS )z:test_deprecate_positional_args_warns_for_class.<locals>.A3r   r   r   c                [   s
   |||fS r   r   r0   r
   r   r   r   r   r   r1   l   s    zAtest_deprecate_positional_args_warns_for_class.<locals>.A3.methodNr2   r   r   r   r   A3k   s   r9   r   r    r!   c                   @   s"   e Zd ZedddddZdS )z:test_deprecate_positional_args_warns_for_class.<locals>.A4r   r   r   c               [   s
   |||fS r   r   r8   r   r   r   r1   y   s    zAtest_deprecate_positional_args_warns_for_class.<locals>.A4.methodNr2   r   r   r   r   A4x   s   r:   r   r#   r$   c                   @   s"   e Zd ZedddddZdS )z:test_deprecate_positional_args_warns_for_class.<locals>.A5r   r   r%   c                [   s   d S r   r   )r0   r
   r   r   r   r   r   r   __init__   s    zCtest_deprecate_positional_args_warns_for_class.<locals>.A5.__init__N)r3   r4   r5   r   r;   r   r   r   r   A5   s   r<   )r1   r'   r(   r)   r*   r+   r,   )r6   r-   r7   r9   r:   r<   r   r   r   .test_deprecate_positional_args_warns_for_classF   sL    r=   )r(   Zxarray.util.deprecation_helpersr   r.   r=   r   r   r   r   <module>   s   @