
    Ćh              	           S r SSKJr  SSKrSSKrSSKrSSKrSSK	J
r
  SSK	Jr  SSK	Jr  SSK	Jr  S\4S	 jr SS
\R                  S\R                  S\S\4S jjrS\S\4S jrg)zeTesting utilities that allow for easier assertions on collections.
Do you love tests? Neither do we.
    )AnyN)
csc_matrix)
csr_matrix)
dok_matrix)
lil_matrixoc                    [        U [        [        [        [        45      (       a  U R                  5       n [        [        R                  [        R                  [        R                  R                  R                  /5      n[        U [        [        45      (       a  U $ [        X5      (       a  U R!                  5       $ [        U [        R                  R"                  R$                  5      (       a  U R&                  R!                  5       $ [        U [(        5      (       a<  [        R*                  /[-        U 5      -  nU R/                  5        H	  u  p4XBU'   M     U$ [1        SU  S[3        U 5       S35      e)NzObject z of z  is not a list, tuple nor array.)
isinstancer   r   r   r   toarraytuplenpndarraytorchTensorpdcoreseriesSerieslisttolistframe	DataFramevaluesdictnanlenitems
ValueErrortype)r   to_list_collectionslikvs        gC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\slicer/utils_testing.pycoercedr%      s   !j*j*EFFIIKU\\277>>;P;P QR!dE]##	A	+	+xxz	Arww}}..	/	/xx  	At		ffXAGGIDAqE 	71#T$q'2RSTT    abrel_tolabs_tolc           
      t    [        X-
  5      [        U[        [        U 5      [        U5      5      -  U5      :*  $ N)absmax)r'   r(   r)   r*   s       r$   is_closer/   $   s0     qu:Ws3q63q6'::GDDDr&   c1c2c           
         [        U [        R                  5      (       a4  U R                  [        R                  " / 5      :X  a  U R                  5       n [        U[        R                  5      (       a4  UR                  [        R                  " / 5      :X  a  UR                  5       n[        U [        R                  5      (       a*  [        U[        R                  5      (       a  [        X5      $ [        U 5      n [        U5      n[        [        [        [        U 5      [        U5      5      5       Vs/ s H  n[        X   X   5      PM     sn5      $ s  snf r,   )r
   r   r   shapeSizeitemnumbersNumberr/   r%   allranger.   r   ctr_eq)r0   r1   is      r$   r:   r:   *   s    "ell##EJJrN(BWWY"ell##EJJrN(BWWY"gnn%%*R*H*H	B	BeCBR4I.JK.Jrube$.JKLLKs   4E)g&.>g        )__doc__typingr   r6   numpyr   r   pandasr   scipy.sparser   r   r   r   r%   r7   floatr/   r:    r&   r$   <module>rC      s         # # # #Us U* TWE~~E!..E38EKPEMs M Mr&   