
    S>i                         d Z ddlmZ ddlmZmZmZmZ  G d de      Z G d de      Z	 G d d	e      Z
 G d
 de      Zy)z$
Tests for wallet_utils exceptions.
    )TestCase)WalletOperationErrorInsufficientBalanceErrorInvalidPointTypeErrorInvalidParamsErrorc                       e Zd ZdZd Zd Zy)WalletOperationErrorTestsz.Tests for WalletOperationError base exception.c                     | j                  t              5 }t        d      # 1 sw Y   nxY w| j                  t        j                        d       y)z(Test WalletOperationError can be raised.z
Test errorN)assertRaisesr   assertEqualstr	exception)selfcms     D/home/cursorai/projects/django-wallet-utils/tests/test_exceptions.pytest_wallet_operation_errorz5WalletOperationErrorTests.test_wallet_operation_error   sB    34&|44 54 	R\\*L9s   "+c                 J    | j                  t        t        t                     y)z*Test WalletOperationError is an Exception.N)
assertTrue
issubclassr   	Exceptionr   s    r   'test_wallet_operation_error_inheritancezAWalletOperationErrorTests.test_wallet_operation_error_inheritance   s    
#7CD    N)__name__
__module____qualname____doc__r   r    r   r   r	   r	      s    8:Er   r	   c                   "    e Zd ZdZd Zd Zd Zy)InsufficientBalanceErrorTestsz#Tests for InsufficientBalanceError.c                     t        ddd      }| j                  t        |      d       | j                  |j                  d       | j                  |j                  d       y)z;Test InsufficientBalanceError with available and requested.zInsufficient balanceg      Y@g      i@)	available	requestedN)r   r   r   r"   r#   r   errors     r   test_insufficient_balance_errorz=InsufficientBalanceErrorTests.test_insufficient_balance_error    sT    ("
 	U%;<%0%0r   c                 J    | j                  t        t        t                     y)zATest InsufficientBalanceError inherits from WalletOperationError.N)r   r   r   r   r   s    r   +test_insufficient_balance_error_inheritancezIInsufficientBalanceErrorTests.test_insufficient_balance_error_inheritance,   s    
#;=QRSr   c                     t        d      }| j                  |j                         | j                  |j                         y)z/Test InsufficientBalanceError with None values.ErrorN)r   assertIsNoner"   r#   r$   s     r   +test_insufficient_balance_error_none_valueszIInsufficientBalanceErrorTests.test_insufficient_balance_error_none_values0   s0    (1%//*%//*r   N)r   r   r   r   r&   r(   r,   r   r   r   r    r       s    -
1T+r   r    c                   "    e Zd ZdZd Zd Zd Zy)InvalidPointTypeErrorTestsz Tests for InvalidPointTypeError.c                     t        dd      }| j                  t        |      d       | j                  |j                  d       y)z+Test InvalidPointTypeError with point_type.zInvalid point typeinvalid_type)
point_typeN)r   r   r   r1   r$   s     r   test_invalid_point_type_errorz8InvalidPointTypeErrorTests.test_invalid_point_type_error;   s?    % %

 	U%9:))>:r   c                 J    | j                  t        t        t                     y)z>Test InvalidPointTypeError inherits from WalletOperationError.N)r   r   r   r   r   s    r   )test_invalid_point_type_error_inheritancezDInvalidPointTypeErrorTests.test_invalid_point_type_error_inheritanceE   s    
#8:NOPr   c                 P    t        d      }| j                  |j                         y)z0Test InvalidPointTypeError with None point_type.r*   N)r   r+   r1   r$   s     r   (test_invalid_point_type_error_none_valuezCInvalidPointTypeErrorTests.test_invalid_point_type_error_none_valueI   s     %g.%**+r   N)r   r   r   r   r2   r4   r6   r   r   r   r.   r.   8   s    *;Q,r   r.   c                   "    e Zd ZdZd Zd Zd Zy)InvalidParamsErrorTestszTests for InvalidParamsError.c                     t        dd      }| j                  t        |      d       | j                  |j                  d       y)z$Test InvalidParamsError with method.zInvalid params	add_point)methodN)r   r   r   r;   r$   s     r   test_invalid_params_errorz1InvalidParamsErrorTests.test_invalid_params_errorS   s=    "

 	U%56{3r   c                 J    | j                  t        t        t                     y)z;Test InvalidParamsError inherits from WalletOperationError.N)r   r   r   r   r   s    r   %test_invalid_params_error_inheritancez=InvalidParamsErrorTests.test_invalid_params_error_inheritance]   s    
#57KLMr   c                 P    t        d      }| j                  |j                         y)z)Test InvalidParamsError with None method.r*   N)r   r+   r;   r$   s     r   $test_invalid_params_error_none_valuez<InvalidParamsErrorTests.test_invalid_params_error_none_valuea   s    "7+%,,'r   N)r   r   r   r   r<   r>   r@   r   r   r   r8   r8   P   s    '4N(r   r8   N)r   django.testr   wallet_utils.exceptionsr   r   r   r   r	   r    r.   r8   r   r   r   <module>rC      sK    ! E E+H +6, ,0(h (r   