
    bi@
                        d dl mZ d dlZd dlZd dlZd dlmZm	Z	 d dl
mZmZmZmZ d dlmZ d dlmZ  e       Zej(                  j+                  dg d      d	        Zd
 Zd Zd Zd Zd Zd Zy)    )annotationsN)Array
from_array)Series_dask_expr_enabledfrom_pandas
to_numeric)pyarrow_strings_enabled)Delayedarg)5   z5 c                h    t        |       }t        |t              sJ |j                         dk(  sJ y )Nr   )r	   
isinstancer   compute)r   outputs     \/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/dataframe/tests/test_numeric.pytest_to_numeric_on_scalarsr      s0    _Ffg&&&>>q       c                     t        g d      } t        j                  g d      }t        |       }d}|j                  |k(  sJ t        |t              sJ t        |j                               t        |      k(  sJ y )N1.02z-3z5.1g      ?g       @g      gffffff@int64	r   nparrayr	   dtyper   r   listr   r   expectedr   expected_dtypes       r   test_to_numeric_on_dask_arrayr$      sj    
.
/Cxx-.H_FN<<>)))fe$$$ !T(^333r   c                 (   t        g d      } t        j                  g d      }t        | t        j                  dd            }d}|j                  |k(  sJ t        |t              sJ t        |j                               t        |      k(  sJ y )Nr   r    float64r   metar   r!   s       r   'test_to_numeric_on_dask_array_with_metar+       sx    
.
/Cxx-.H"((2Y"?@FN<<>)))fe$$$ !T(^333r   c                 <   t        j                  g d      } t        | d      }t        j                  |       }t        |      }d}t	               rd}|j
                  |k(  sJ t        |t              sJ t        |j                               t        |      k(  sJ y )Nr   r   gffffff   npartitionsr   Int64)	pdr   r   r	   r
   r   r   r    r   )sr   r"   r   r#   s        r   (test_to_numeric_on_dask_dataframe_seriesr5   *   s    
		()A
aQ
'C}}QH_FN  <<>)))ff%%% !T(^333r   c                 N   t        j                  g d      } t        | d      }t        j                  |       }t        |t        j                  g d            }|j                  dk(  sJ t        |t              sJ t        |j                               t        |      k(  sJ y )Nr-   r/   r0   r'   r(   r)   )r3   r   r   r	   r   r   r    r   )r4   r   r"   r   s       r   2test_to_numeric_on_dask_dataframe_series_with_metar7   8   s    
		()A
aQ
'C}}QH"))Bi"@AF<<9$$$ff%%% !T(^333r   c                     t        j                  g d      } t        j                  | | d      }t        |d      }t	        j
                  t        d      5  t        |       d d d        y # 1 sw Y   y xY w)Nr-   )abr/   r0   z arg must be a list, tuple, dask.match)r3   r   	DataFramer   pytestraises	TypeErrorr	   )r4   dfr   s      r   8test_to_numeric_on_dask_dataframe_dataframe_raises_errorrB   B   s[    
		()A	AA&	'B
ba
(C	y(J	K 3  s   A--A6c                 "   t        j                  t        d      5  t        dd       d d d        t        j                  t        d      5  t        dt        j                  g d      	       d d d        y # 1 sw Y   PxY w# 1 sw Y   y xY w)
Nzinvalid error valuer;   10invalid)errorsz``meta`` is not allowedr'   r(   r)   )r>   r?   
ValueErrorr	   KeyErrorr3   r   r&   r   r   test_to_numeric_raisesrI   J   sn    	z)>	? +4	*+	x'@	A >4bii)<=> >+ +> >s   A9#B9BB)
__future__r   numpyr   pandasr3   r>   
dask.arrayr   r   dask.dataframer   r   r   r	   dask.dataframe.utilsr
   dask.delayedr   DASK_EXPR_ENABLEDmarkparametrizer   r$   r+   r5   r7   rB   rI   r&   r   r   <module>rT      sl    "    ( N N 8  &(  /! 0!4444>r   