o
    Eb5                     @   s>   d Z ddlZddlmZ ddlmZ ddlZ	G dd dZ
dS )z Regression tests for optimize.

    N)assert_almost_equal)raisesc                   @   s$   e Zd Zdd Zdd Zdd ZdS )TestRegressionc                 C   s$   d}t jdd d}t|| d S )N   c                 S   s   | d S )Nr    xr   r   F/usr/lib/python3/dist-packages/scipy/optimize/tests/test_regression.py<lambda>       z4TestRegression.test_newton_x0_is_0.<locals>.<lambda>r   scipyoptimizeZnewtonr   )selfZtgtresr   r   r	   test_newton_x0_is_0   s   z"TestRegression.test_newton_x0_is_0c                 C   s(   t jjdd ddd d}t|d d S )Nc                 S   s   | d d S )N   r   r   r   r   r   r	   r
      s    z5TestRegression.test_newton_integers.<locals>.<lambda>r   c                 S   s   d|  S )Nr   r   r   r   r   r	   r
      r   )Zx0Zfprimeg      ?r   )r   rootr   r   r	   test_newton_integers   s   z#TestRegression.test_newton_integersc                    s>   G dd dt  dg fdd}t tjj|g d d S )Nc                   @   s   e Zd ZdS )z3TestRegression.test_lmdif_errmsg.<locals>.SomeErrorN)__name__
__module____qualname__r   r   r   r	   	SomeError   s    r   r   c                    s8   d  d7  < d dk r| d t g d S   )Nr   r      r   )	   
      )npZarrayr   r   Zcounterr   r	   func   s   z.TestRegression.test_lmdif_errmsg.<locals>.func)r   r   r   )	Exceptionassert_raisesr   r   Zleastsq)r   r   r   r   r	   test_lmdif_errmsg   s   z TestRegression.test_lmdif_errmsgN)r   r   r   r   r   r"   r   r   r   r	   r      s    r   )__doc__Znumpyr   Znumpy.testingr   Zpytestr   r!   Zscipy.optimizer   r   r   r   r   r	   <module>   s    