
    'YHh                     T    d dl Zd dlmZ d dlmZ d dlmZmZ d dlm	Z	  G d d      Z
y)    N)assert_raises)StepFunctionmonotone_fn_inverter)ECDFDiscretec                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)TestDistributionsc                     t        j                  d      }t        j                  d      }t        ||      } |t        j                  ddgddgddgg            }t	        j
                  |dd	gd
dgddgg       y )N   皙	@      @         @      @         r      nparanger   arraynptassert_almost_equalselfxyfvalss        b/var/www/html/planif/env/lib/python3.12/site-packages/statsmodels/distributions/tests/test_ecdf.pytest_StepFunctionz#TestDistributions.test_StepFunction
   sq    IIbMIIbMAC:DzC:>?@1vAwA&?@    c                    t        j                  d      }t        j                  d      }t        t        t        ||       t        j
                  d      }t        j
                  d      }t        t        t        ||       y )Nr
      )r   r   )r   r   r   
ValueErrorr   zeros)r   r   r   s      r!   test_StepFunctionBadShapez+TestDistributions.test_StepFunctionBadShape   sT    IIbMIIbMj,15HHVHHVj,15r#   c                     t        j                  d      }t        j                  d      }t        ||d      } |t        j                  ddgddgdd	gg            }t	        j
                  |d
dgddgd
dgg       y )Nr
   rightsider   r   r   r   r   r   r   r   r   r   r   r   s        r!   test_StepFunctionValueSideRightz1TestDistributions.test_StepFunctionValueSideRight   ss    IIbMIIbMAG,C:DzC:>?@1vAwA&?@r#   c                     g d}g d}t        ||      }t        j                   |g d      g d       t        ||d      }t        j                   |g d      g d       y )N)
   r/   r   r   r   r   r   r   r      
         	   
                  )r/   r   r   r   r0   )r   r3   r6   r9   r:   r*   r+   )r3   r6   r9   r:   r;   )r   r   r   )r   r   r   r   f2s        r!   test_StepFunctionRepeatedValuesz1TestDistributions.test_StepFunctionRepeatedValues    sR    *0A/ 24FG!QW-? 35HIr#   c                     g d}d } |t        j                  |            }t        ||      }t        j                  |j
                  |d d d          t        j                  |j                  |d d d          y )Nr1   c                     d| z  S )Ng      ? )r   s    r!   <lambda>z=TestDistributions.test_monotone_fn_inverter.<locals>.<lambda>*   s
    1 r#   )r   r   r   r   assert_array_equalr   r   )r   r   fnr   r   s        r!   test_monotone_fn_inverterz+TestDistributions.test_monotone_fn_inverter(   sa    0rxx{O Q'qssAddG,qssAddG,r#   c                    g d}t        |      }t        j                  |j                  t        j
                   dddg       t        j                  |j                  g d       t        g d      }t        g dg d	      }t        j                  |j                  |j                         t        j                  |j                  |j                         y )
N)r   r   r/   r   r/   r   r   )r   g      ?g      ?r/   )      @rG         ?r/   r   )rG   rH   r/   r   )r   r/   r/   r/   )freq_weights)r   r   rC   r   r   infr   )r   r   ee1e2s        r!   test_ecdf_discretez$TestDistributions.test_ecdf_discrete0   s    OqssbffWaA$67qss$67/0*FrttRTT*rttRTT*r#   N)	__name__
__module____qualname__r"   r(   r-   r=   rE   rN   r@   r#   r!   r   r      s#    A6AJ-+r#   r   )numpyr   numpy.testingtestingr   r   statsmodels.distributionsr   r   r   r   r@   r#   r!   <module>rV      s      ' H 20+ 0+r#   