
    Oh                        d dl Z d dlmZ d dlmZmZmZ d dlmZ	 d dl
mZ e j                  j                  gZ e j                  d      Zej#                  e j                  j%                   eej&                         ed      k(  xr  e       dej&                                e j                  j)                  d	       G d
 d             Zy)    N)is_platform_arm)	DataFrameSeriesoption_context)Versionnumbaz0.61z&Segfaults on ARM platforms with numba )reasonignorec                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)
TestEnginec                    |\  }}t        g dt        d      t        dd      d      }|||d}	|j                  d|      }
 t        |
|      dd	|	d
|} t        |
|      di |}t	        j
                  ||       y )N      r   r            abcnogilparallelnopythonr   sortr   engineengine_kwargs )r   rangegroupbygetattrtmassert_frame_equalselfr   r   r   r   numba_supported_reductionsfunckwargsdfr    gbresultexpecteds                g/var/www/html/diagnosisapp-backend/venv/lib/python3.12/site-packages/pandas/tests/groupby/test_numba.pytest_cython_vs_numba_framez%TestEngine.test_cython_vs_numba_frame   s     2f\auQ{KL"'X8TZZ$Z'"T" 
-
;A
 %72t$.v.
fh/    c                    |\  }}t        g dt        d      t        dd      d      }|||d}	|j                  d|      d	   }
 t        |
|      dd
|	d|} t        |
|      di |}t	        j
                  ||       y )Nr   r   r   r   r   r   r   r   r   r   r   r!   )r   r"   r#   r$   r%   assert_series_equalr'   s                r0   test_cython_vs_numba_getitemz'TestEngine.test_cython_vs_numba_getitem(   s     2f\auQ{KL"'X8TZZ$Z',"T" 
-
;A
 %72t$.v.
vx0r2   c                     |\  }}t        t        d      g dd      }|||d}	|j                  d|      }
 t        |
|      d
d|	d	|} t        |
|      d
i |}t	        j
                  ||       y )Nr   )r   r   r   foo)indexnamer   r   )levelr   r   r   r!   )r   r"   r#   r$   r%   r4   )r(   r   r   r   r   r)   r*   r+   serr    r-   r.   r/   s                r0   test_cython_vs_numba_seriesz&TestEngine.test_cython_vs_numba_series5   s     2fU1XYU;"'X8T[[qt[,"T" 
-
;A
 %72t$.v.
vx0r2   c                    |\  }}t        g dt        d      t        dd      d      }|j                  dd      }t        j                  t
        d	
      5   t        ||      dddi| d d d        y # 1 sw Y   y xY w)Nr   r   r   r   r   r   F)as_indexzas_index=Falsematchr   r   r!   r   r"   r#   pytestraisesNotImplementedErrorr$   r(   r)   r*   r+   r,   r-   s         r0   test_as_index_false_unsupportedz*TestEngine.test_as_index_false_unsupportedB   sv    1f\auQ{KLZZeZ,]].6FG 	8GB7W77	8 	8 	8   A66A?c                    |\  }}t        g dt        d      t        dd      d      }|j                  dd      }t        j                  t
        d	      5   t        ||      dd
di| d d d        y # 1 sw Y   y xY w)Nr   r   r   r   r   r   )axiszaxis=1r?   r   r   r!   rA   rE   s         r0   test_axis_1_unsupportedz"TestEngine.test_axis_1_unsupportedI   su    1f\auQ{KLZZ!Z$]].h? 	8GB7W77	8 	8 	8rG   c                 (   t        g dt        d      t        dd      d      }|j                  d      }t        dd      5  |j	                  d	d
i      }d d d        |j	                  d	d
i      }t        j                  |       y # 1 sw Y   3xY w)Nr   r   r   r   r   r   zcompute.use_numbaTr   first)r   r"   r#   r   aggr%   r&   )r(   r,   r-   resr/   s        r0   test_no_engine_doesnt_raisez&TestEngine.test_no_engine_doesnt_raiseP   s    \auQ{KLZZ_ /6 	)&&#w(C	)663.)
c8,	) 	)s   BBN)	__name__
__module____qualname__r1   r5   r<   rF   rJ   rO   r!   r2   r0   r   r      s     01188	-r2   r   )rB   pandas.compatr   pandasr   r   r   pandas._testing_testingr%   pandas.util.versionr   mark
single_cpu
pytestmarkimportorskipr   appendskipif__version__filterwarningsr   r!   r2   r0   <module>r`      s     ) 
  'kk$$%
G$ 
  
KK!!"gfo5K/:K78I8I7JK   H%?- ?- &?-r2   