Ë
    u™ãj€  ã                   óÐ   — d dl Z d dlZd dlZd dlZd dlmZ d dl	m
Z
 ej                  d„ «       Zej                  d„ «       Zej                  d„ «       Z G d„ d«      Z G d„ d	«      Zy)
é    N©Únested_to_recordc                  ón   — dddddœdddœgdœd	d
ddœdddœgdœgdœdddddœgdœddddœdddœgdœgdœgS )NÚUSAÚ
CaliforniaúSan Franciscoé90  )ÚnameÚpopúLos Angelesé:0  )r
   ÚcitiesÚOhioÚColumbuséÒ  Ú	ClevelandéÔ  )ÚcountryÚstatesÚGermanyÚBayernÚMuniché;0  úNordrhein-WestfalenÚDuesseldorféÖ  ÚKoelné×  © r   ó    ún/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/io/json/test_normalize.pyÚdeep_nestedr"      s•   € ð
 ð )à!0¸Ñ?Ø!.°uÑ=ðñð #à!+°DÑ9Ø!,°TÑ:ðñðñ	
ð( !à!°xÈÑ.NÐ-OÑPà1à!.°tÑ<Ø!(°Ñ6ðñð	ñ	
ð)!ð !r    c                  óN   — dddœdddœdddœgdd	id
ddœdddœdddœgddidddœgS )NÚDader	   ©r
   Ú
populationÚBrowardé@œ  ú
Palm Beaché`ê  Úgovernorú
Rick ScottÚFLÚFlorida)ÚcountiesÚinfoÚ	shortnameÚstateÚSummitr   ÚCuyahogaé9  úJohn KasichÚOHr   r   r   r    r!   Ú
state_datar8   3   sl   € ð
  ¨uÑ5Ø"°%Ñ8Ø%°UÑ;ðð
   Ð.ØØñ		
ð "°Ñ6Ø#°4Ñ8ðð   Ð/ØØñ	
ðð r    c                  óH   — dddddddœgdd	d
igidœddddddœgdd	digidœgS )NÚAliceéZ%  ú
Morris St.Ú	Massillonr7   éf®  )ÚnumberÚstreetÚcityr2   Úzipr   Ú	city_nameúFoo York City)r
   Ú	addressesÚprevious_residencesé!  ú
Spring St.ÚElizabethtonÚTNé“  Ú
Barmingham)rE   rF   r   r   r    r!   Úmissing_metadatarM   L   su   € ð ð #Ø*Ø'Ø!Ø ñðð %-°¸_Ð/MÐ.NÐ#Oñ	
ð  #Ø*Ø*Ø!Ø ñðð %-°¸\Ð/JÐ.KÐ#Lñ	
ðð r    c                   óV  — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  dddiddigd	d	fdddiddigidd	fd
d	e
fd	d	e
fg«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  ddddddœddidd id!œddddœddidd id!œgfddddddidd id"œdddddidd id"œgfg«      d#„ «       Zej                  j                  d$dd	g«      d%„ «       Zd&„ Zd'„ Zej                  j                  d(g d)¢«      d*„ «       Zd+„ Zd,„ Zd-„ Z d.„ Z!y	)/ÚTestJSONNormalizec                 ó°   — ddddœddddœdd	d
dœddddœg}t        j                  |«      }t        j                  |«      }t        j                  ||«       y )Né   é   é   )ÚaÚbÚcé   é   é   é   é   é	   é
   é   é   ©ÚpdÚjson_normalizeÚ	DataFrameÚtmÚassert_frame_equal©ÚselfÚrecsÚresultÚexpecteds       r!   Útest_simple_recordsz%TestJSONNormalize.test_simple_recordsl   sa   € à˜! !Ñ$Ø˜! !Ñ$Ø˜! !Ñ$Ø˜2 BÑ'ð	
ˆô ×"Ñ" 4Ó(ˆÜ—<‘< Ó%ˆä
×Ñ˜f hÕ/r    c                 ó  — t        j                  |d   d«      }t        j                  |d   d   «      }t        j                  ||«       t        j                  |d«      }g }|D ]  }|j                  |d   «       Œ t        j                  |«      }t        j                  ||«       t        j                  |dd¬«      }t        j                  ddg«      j                  ddg«      |d<   t        j                  ||«       y )	Nr   r/   r2   ©Úmetar.   r   rS   rR   )	ra   rb   rc   rd   re   ÚextendÚnpÚarrayÚrepeat©rg   r8   ri   rj   Úrecs        r!   Útest_simple_normalizez'TestJSONNormalize.test_simple_normalizey   sÞ   € Ü×"Ñ" :¨a¡=°*Ó=ˆÜ—<‘< 
¨1¡¨jÑ 9Ó:ˆÜ
×Ñ˜f hÔ/ä×"Ñ" :¨zÓ:ˆàˆØò 	-ˆCØ�O‰O˜C 
™OÕ,ð	-ä—<‘< Ó)ˆä
×Ñ˜f hÔ/ä×"Ñ" :¨zÀÔHˆÜŸH™H i°Ð%8Ó9×@Ñ@À!ÀQÀÓHˆ�Ñä
×Ñ˜f hÕ/r    c                 óÆ   — g d¢dddgidœg}t        j                  |dgddgg¬«      }t        j                  g d¢ddgddgddggd	œ«      }t        j                  ||«       y )
N©rQ   rR   rS   ÚlistdatarQ   rR   )ÚvaluesÚmetadatary   rz   ©Úrecord_pathrn   )r   zmetadata.listdatar`   )rg   Úparse_metadata_fields_list_typeri   rj   s       r!   Útest_fields_list_type_normalizez1TestJSONNormalize.test_fields_list_type_normalizeŒ   s}   € â ¨z¸A¸q¸6Ð.BÑCð+
Ð'ô ×"Ñ"Ø+Ø!˜
Ø˜zÐ*Ð+ô
ˆô
 —<‘<Ú°!°Q°¸!¸Q¸À!ÀQÀÐ0HÑIó
ˆô 	×Ñ˜f hÕ/r    c                 ó‚   — t        j                  g «      }t        j                  «       }t        j                  ||«       y )Nr`   ©rg   ri   rj   s      r!   Útest_empty_arrayz"TestJSONNormalize.test_empty_arrayš   s-   € Ü×"Ñ" 2Ó&ˆÜ—<‘<“>ˆÜ
×Ñ˜f hÕ/r    z!data, record_path, exception_typerT   r   rQ   Nz{"a": [{"a": 0}, {"a": 1}]}c                 ó  — |�8t        j                  |d¬«      5  t        j                  ||¬«       d d d «       y t        j                  ||¬«      }t        j                  ddgdg¬«      }t        j                  ||«       y # 1 sw Y   y xY w)Nz^$©Úmatch©r|   r   rQ   rT   ©Úcolumns)ÚpytestÚraisesra   rb   rc   rd   re   )rg   Údatar|   Úexception_typeri   rj   s         r!   Útest_accepted_inputz%TestJSONNormalize.test_accepted_inputŸ   s�   € ð Ð%Ü—‘˜~°TÔ:ñ AÜ×!Ñ! $°KÕ@÷Að Aô ×&Ñ& t¸ÔEˆFÜ—|‘| Q¨ F°S°EÔ:ˆHÜ×!Ñ! &¨(Õ3÷Að Aús   šBÂBc                 ó  — t        j                  ddddœi«      }t        j                  ddggddg¬«      }t        j                  |j                  |«      |«       t        j                  ddddœid¬	«      }t        j                  ddggd
dg¬«      }t        j                  |j                  |«      |«       t        j                  ddddœid¬	«      }t        j                  ddggddg¬«      }t        j                  |j                  |«      |«       t        j                  |ddgdddggd¬«      }t        j                  g d¢«      j                  «       }|j                  j                  «       j                  |«      sJ ‚y )NÚArQ   rR   )rŽ   ÚBzA.AzA.Br†   Ú_©ÚsepÚA_AÚA_Bu   Ïƒu   AÏƒAu   AÏƒBr   r   r   r
   )rn   r’   )r
   r   r   Ústates_name)
ra   rb   rc   rd   re   Úreindex_likeÚIndexÚsort_valuesr‡   Úequals)rg   r"   ri   rj   s       r!   Ú$test_simple_normalize_with_separatorz6TestJSONNormalize.test_simple_normalize_with_separator±   sZ  € ä×"Ñ" C¨q°qÑ)9Ð#:Ó;ˆÜ—<‘< ! Q  °5¸%°.ÔAˆÜ
×Ñ˜f×1Ñ1°(Ó;¸XÔFä×"Ñ" C¨q°qÑ)9Ð#:ÀÔDˆÜ—<‘< ! Q  °5¸%°.ÔAˆÜ
×Ñ˜f×1Ñ1°(Ó;¸XÔFä×"Ñ" C¨q°qÑ)9Ð#:ÀÔIˆÜ—<‘< ! Q  °:¸zÐ2JÔKˆÜ
×Ñ˜f×1Ñ1°(Ó;¸XÔFä×"Ñ"ØØ�xÐ Ø˜h¨Ð/Ð0Øô	
ˆô —8‘8ÒEÓF×RÑRÓTˆØ�~‰~×)Ñ)Ó+×2Ñ2°8Ô<Ð<Ñ<r    c                 ó°   — ddgdddœdœ}t        j                  |d¬«      }t        j                  ddgddggg d¢¬	«      }t        j                  ||«       y )
NrQ   rR   )rS   rW   )Úb_1Úb_2)rT   rU   Ú__r‘   )rT   Úb__b_1Úb__b_2r†   r`   ©rg   rŠ   ri   rj   s       r!   Ú'test_normalize_with_multichar_separatorz9TestJSONNormalize.test_normalize_with_multichar_separatorÈ   s[   € à˜�V¨!°FÑ";Ñ<ˆÜ×"Ñ" 4¨TÔ2ˆÜ—<‘<Ø�!ˆf�a˜Ð Ð!Ò+Dô
ˆô 	×Ñ˜f hÕ/r    c                 ó    — t        j                  dddgidd¬«      }t        j                  dgdggdg¬«      }t        j                  ||«       y )NrŽ   rQ   rR   zPrefix.©Úrecord_prefixzPrefix.0r†   r`   r€   s      r!   Útest_value_array_record_prefixz0TestJSONNormalize.test_value_array_record_prefixÑ   sH   € ä×"Ñ" C¨!¨Q¨ =°#ÀYÔOˆÜ—<‘< !  q c 
°Z°LÔAˆÜ
×Ñ˜f hÕ/r    c                 óÎ   — dddddœdddœdd	dœgd
œdœ}t        j                  |ddg¬«      }t        j                  ddgddgdd	ggddg¬«      }t        j                  ||«       y )Nr.   r,   r$   r	   r%   r'   r(   r)   r*   )r+   r/   ©r2   r0   r0   r/   r…   r
   r&   r†   r`   r¡   s       r!   Útest_nested_object_record_pathz0TestJSONNormalize.test_nested_object_record_path×   sŒ   € ð à(à#°5Ñ9Ø&°eÑ<Ø)¸Ñ?ðññ

ˆô ×"Ñ" 4°f¸jÐ5IÔJˆÜ—<‘<Ø�eˆ_˜y¨%Ð0°<ÀÐ2GÐHØ˜\Ð*ô
ˆô 	×Ñ˜f hÕ/r    c                 óÞ   — t        j                  |ddgdddgg¬«      }dgdz  dgd	z  z   g d
¢g d¢g d¢dœ}t        j                  ||j                  ¬«      }t	        j
                  ||«       y )Nr   r   r   r
   rm   r   rW   r   rS   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r	   r   r   r   r   r   r   )r   zstates.namer
   r   r†   ©ra   rb   rc   r‡   rd   re   )rg   r"   ri   Úex_datarj   s        r!   Útest_more_deeply_nestedz)TestJSONNormalize.test_more_deeply_nestedë   s{   € Ü×"Ñ"Ø˜( HÐ-°YÀÈ6Ð@RÐ4Sô
ˆð �w ‘{ i [°1¡_Ñ4òòò Añ)
ˆô. —<‘< °·±Ô@ˆÜ
×Ñ˜f hÕ/r    c                 ó>  — ddddidddœdd	dœd
ddœgdœddddidddœdddœgdœg}t        j                  |dddddgg«      }g d¢dgdz  dgdz  z   g d¢dgdz  dgdz  z   g d¢dœ}t        j                  ||j                  ¬«      }t	        j
                  ||«       y )Nr.   r-   r+   r,   r$   r	   r%   r'   r(   r)   r*   )r2   r1   r0   r/   r   r7   r6   r3   r   r4   r5   r/   r2   r1   r0   ©r$   r'   r)   r3   r4   rS   rR   )r-   r-   r-   r7   r7   ©r	   r(   r*   r   r5   )r
   r2   r1   úinfo.governorr&   r†   r«   )rg   rŠ   ri   r¬   rj   s        r!   Útest_shallow_nestedz%TestJSONNormalize.test_shallow_nested	  sí   € ð #Ø!Ø# \Ð2à#°5Ñ9Ø&°eÑ<Ø)¸Ñ?ðñ		ð  Ø!Ø# ]Ð3à%°TÑ:Ø'°tÑ<ðñ	ð
ˆô, ×"Ñ"Ø�*˜w¨°f¸jÐ5IÐJó
ˆò LØ�[ 1‘_¨ x°!¡|Ñ3Ú7Ø*˜^¨aÑ/°=°/ÀAÑ2EÑEÚ;ñ
ˆô —<‘< °·±Ô@ˆÜ
×Ñ˜f hÕ/r    c                 óò   — t        j                  |dgddddggd¬«      }g d¢g d	¢d
gdz  dgdz  z   dgdz  dgdz  z   dgdz  dgdz  z   dœ}t        j                  |«      }t        j                  ||«       y )Nr/   r2   r1   r0   r+   Úignore©rŠ   r|   rn   Úerrorsr¯   r°   r.   rS   r   rR   r-   r7   r,   r6   )r
   r&   r2   r1   r±   r`   )rg   r8   ri   r¬   rj   s        r!   Ú-test_nested_meta_path_with_nested_record_pathz?TestJSONNormalize.test_nested_meta_path_with_nested_record_path-  sš   € ä×"Ñ"ØØ#˜Ø˜;¨°Ð(<Ð=Øô	
ˆò LÚ;Ø�[ 1‘_¨ x°!¡|Ñ3Ø˜ !™ t f¨q¡jÑ0Ø*˜^¨aÑ/°=°/ÀAÑ2EÑEñ
ˆô —<‘< Ó(ˆÜ
×Ñ˜f hÕ/r    c                 ó
  — dddddœdddœgdœg}d	}t        j                  t        |¬
«      5  t        j                  |dddg¬«       d d d «       t        j                  |dddgd¬«      }dD ]  }||v rŒJ ‚ y # 1 sw Y   Œ2xY w)NÚhelloÚthereÚ	somethingÚelse©ÚfooÚbarÚ
something2Úelse2©r¾   r¿   rŠ   z?Conflicting metadata name (foo|bar), need distinguishing prefixrƒ   rŠ   r¾   r¿   rm   rn   ©rn   Úmeta_prefix©ÚmetafooÚmetabarr¾   r¿   )rˆ   r‰   Ú
ValueErrorra   rb   )rg   rŠ   Úmsgri   Úvals        r!   Útest_meta_name_conflictz)TestJSONNormalize.test_meta_name_conflictA  s¬   € ð Øà'°Ñ7Ø(°Ñ9ðñð	
ˆð QˆÜ�]‰]œ:¨SÔ1ñ 	AÜ×Ñ˜d F°%¸°Õ@÷	Aô ×"Ñ"Ø�&  u˜~¸6ô
ˆð 8ò 	!ˆCØ˜&’=Ð �=ñ	!÷	Að 	Aús   ­A9Á9Bc                 óˆ   — dddddœdddœgdœg}d	d
g}t        j                  |d|d¬«      }|d	d
gk(  sJ ‚dD ]  }||v rŒJ ‚ y )Nr¹   rº   r»   r¼   r½   rÀ   rÁ   rÂ   r¾   r¿   rŠ   rn   rÃ   rÅ   )ra   rb   )rg   rŠ   ÚCOLUMNSri   rÊ   s        r!   Ú test_meta_parameter_not_modifiedz2TestJSONNormalize.test_meta_parameter_not_modifiedX  sy   € ð Øà'°Ñ7Ø(°Ñ9ðñð	
ˆð ˜%�.ˆÜ×"Ñ" 4¨°gÈ6ÔRˆà˜5 %˜.Ò(Ð(Ð(Ø7ò 	!ˆCØ˜&’=Ð �=ñ	!r    c                 óÖ  — t        j                  |d   d«      }t        j                  |d   d   «      }t        j                  ||«       t        j                  |ddd¬«      }g }|D ]  }|j                  |d   «       Œ t        j                  |«      }|j                  d„ ¬«      }t        j                  dd	g«      j                  d
dg«      |d<   t        j                  ||«       y )Nr   r/   r2   Úcounty_)rn   r¥   c                 ó   — d| z   S )NrÐ   r   )Úxs    r!   ú<lambda>z6TestJSONNormalize.test_record_prefix.<locals>.<lambda>y  s
   € °YÀ±]€ r    r†   r.   r   rS   rR   )
ra   rb   rc   rd   re   ro   Úrenamerp   rq   rr   rs   s        r!   Útest_record_prefixz$TestJSONNormalize.test_record_prefixl  sÔ   € Ü×"Ñ" :¨a¡=°*Ó=ˆÜ—<‘< 
¨1¡¨jÑ 9Ó:ˆÜ
×Ñ˜f hÔ/ä×"Ñ"Ø˜
¨À	ô
ˆð ˆØò 	-ˆCØ�O‰O˜C 
™OÕ,ð	-ä—<‘< Ó)ˆØ—?‘?Ñ+B�?ÓCˆÜŸH™H i°Ð%8Ó9×@Ñ@À!ÀQÀÓHˆ�Ñä
×Ñ˜f hÕ/r    c                 ó
  — t        j                  t        d«      D �cg c]  }|› ddœ‘Œ
 c}«      }t        j                  |d¬«      }t        j                  dddœdddœd	ddœg«      }t        j                  ||«       y c c}w )
NrS   Úq)ÚkÚmzT.r¤   Ú0)zT.kzT.mÚ1Ú2)ra   ÚSeriesÚrangerb   rc   rd   re   )rg   ÚiÚsri   rj   s        r!   Ú(test_record_prefix_no_record_path_seriesz:TestJSONNormalize.test_record_prefix_no_record_path_series~  s{   € ä�I‰I¼¸a»ÖA°1 ˜s¨#Ó.ÒAÓBˆÜ×"Ñ" 1°DÔ9ˆÜ—<‘<à CÑ(Ø CÑ(Ø CÑ(ðó
ˆô 	×Ñ˜f hÕ/ùò Bs   �B c                 ó  — dj                  d«      }dj                  d«      ddgdddgdd	d
gi}t        j                  |«      }t        j                  t	        j
                  |«      «      }t        j                  ||«       y )NsK   [{"ÃœnicÃ¸de":0,"sub":{"A":1, "B":2}},{"ÃœnicÃ¸de":1,"sub":{"A":3, "B":4}}]Úutf8s	   ÃœnicÃ¸der   rQ   zsub.ArS   zsub.BrR   rW   )Údecodera   rc   rb   ÚjsonÚloadsrd   re   )rg   ÚtestjsonÚtestdatarj   ri   s        r!   Útest_non_ascii_keyz$TestJSONNormalize.test_non_ascii_key‹  s~   € ðAç
‰&�‹.ð 	ð %×+Ñ+¨FÓ3°a¸°VØ�a˜�VØ�a˜�Vð
ˆô
 —<‘< Ó)ˆä×"Ñ"¤4§:¡:¨hÓ#7Ó8ˆÜ
×Ñ˜f hÕ/r    c                 óN  — dd idddœdddœdœg}t        j                  |«      }t        j                  t        j                  t        j                  t        j                  t        j                  d	œd ddddd	œg}t        j                  |«      }t        j                  ||«       y )
Nr0   ú
11/08/1993ú
26/05/2012©Ú
created_atÚlast_updatedÚJaneÚDoe©ÚfirstÚ	last_name©r0   Úauthor_name)r0   úinfo.created_atúinfo.last_updatedúauthor_name.firstúauthor_name.last_name©ra   rb   rp   Únanrc   rd   re   )rg   Úauthor_missing_datari   r¬   rj   s        r!   Útest_missing_fieldz$TestJSONNormalize.test_missing_field›  s¢   € ð �TˆNà'3À\ÑRØ)/¸eÑDñð
Ðô ×"Ñ"Ð#6Ó7ˆô Ÿ™Ü#%§6¡6Ü%'§V¡VÜ%'§V¡VÜ)+¯©ñð Ø#/Ø%1Ø%+Ø).ñð
ˆô  —<‘< Ó(ˆÜ
×Ñ˜f hÕ/r    zmax_level,expectedú	Some textÚID001ÚName001©ÚIdÚNamer  ÚUser001rU   )Ú	TextFieldÚ	UserFieldÚ	CreatedByÚImage)r  zUserField.IdzUserField.Namer  r	  c                 ó  — ddiddddœdœddddœdœgdd	id
ddœdddœgdœg}t        j                  |dgdgdgg|¬«      }t        j                  ||j                  j                  ¬«      }t        j                  ||«       y )Nr  r  rÿ   r   r  r  ©r  r  rT   rU   r»   r¼   r½   rÀ   rÁ   )r  ÚLookupr	  Útagsr  r  r	  )r|   rn   Ú	max_level)rŠ   r‡   )ra   rb   rc   r‡   ry   rd   Úassert_equal)rg   r  rj   Ú
test_inputri   Úexpected_dfs         r!   Ú test_max_level_with_records_pathz2TestJSONNormalize.test_max_level_with_records_path¸  s³   € ðZ % iÐ0ð &1Ø,3¸YÑ%Gñð
 &1Ø,3¸YÑ%Gñð	ð ˜s˜à'°Ñ7Ø(°Ñ9ðñð
ˆ
ô* ×"Ñ"ØØ!˜
Ø�- ' Ð+Øô	
ˆô —l‘l¨¸&¿.¹.×:OÑ:OÔPˆÜ
�‰˜ VÕ,r    r  c                 óv  — t         j                  ddiddig}t        j                  ||¬«      }t        j                  dt         j                  ddgi«      }t        j                  ||«       d}t        j                  t        |¬«      5  t        j                  dddig|¬«       d d d «       y # 1 sw Y   y xY w)NÚidr_   é   ©r  z>All items in data must be of type dict or NA-like, found floatrƒ   ç      ð?)
rp   rü   ra   rb   rc   rd   re   rˆ   r‰   Ú	TypeError)rg   r  Ú	data_listri   rj   rÉ   s         r!   Ú"test_json_normalize_non_dict_itemsz4TestJSONNormalize.test_json_normalize_non_dict_items  s¡   € ô —V‘V˜d B˜Z¨$°¨Ð4ˆ	ä×"Ñ" 9¸	ÔBˆÜ—<‘< ¬¯©°°BÐ'7Ð 8Ó9ˆÜ
×Ñ˜f hÔ/àNˆÜ�]‰]œ9¨CÔ0ñ 	FÜ×Ñ˜s T¨2 JÐ/¸9ÕE÷	F÷ 	Fñ 	Fús   Â
B/Â/B8c                 óž   — t        j                  dddiig«      }t        j                  ddddiigid«      }t        j                  ||«       y )NrŽ   r�   rQ   Údummy)ra   rb   rd   re   )rg   Údf1Údf2s      r!   Ú!test_nested_flattening_consistentz3TestJSONNormalize.test_nested_flattening_consistent  sQ   € ä×Ñ #¨¨Q x Ð 1Ó2ˆÜ×Ñ ¨C°#°q°¨?Ð*;Ð <¸gÓFˆô 	×Ñ˜c 3Õ'r    c                 óº   — t        j                  d|dœdddigdœgdg¬«      }t        j                  ddit        d«      ¬	«      }t	        j
                  ||«       y )
NÚTexasr¨   r.   rß   rR   r0   r…   rQ   ©Úindex)ra   rb   rc   rÞ   rd   r  )rg   Únulls_fixtureri   rj   s       r!   Útest_nonetype_record_pathz+TestJSONNormalize.test_nonetype_record_path  s^   € ô ×"Ñ"à!¨=Ñ9Ø#¨s°A¨h¨ZÑ8ðð  ˜ô
ˆô —<‘<  a ´°a³Ô9ˆÜ
�‰˜ Õ)r    Úvalue)ÚfalseÚtruez{}rÛ   z"text"c                 ó   — t        j                  |«      }d|dœ}d}dt        |«      j                  › d�}t	        j
                  t        |¬«      5  t        j                  |g|g¬«       d d d «       y # 1 sw Y   y xY w)Nr!  r¨   r0   z(Path must contain list or null, but got z
 at 'info'rƒ   r…   )	rå   ræ   ÚtypeÚ__name__rˆ   r‰   r  ra   rb   )rg   r&  Úparsed_valuer  Ú	test_pathrÉ   s         r!   Ú test_non_list_record_path_errorsz2TestJSONNormalize.test_non_list_record_path_errors#  s€   € ô —z‘z %Ó(ˆØ&°Ñ=ˆ
Øˆ	ðÜ˜LÓ)×2Ñ2Ð3°:ð?ð 	ô �]‰]œ9¨CÔ0ñ 	EÜ×Ñ˜z˜l¸¸ÕD÷	E÷ 	Eñ 	Eús   ÁA4Á4A=c                 óø   — d}t        j                  t        j                  |«      dgdg¬«      }t        j                  dgdgt        j                  dgt        ¬«      d	œ«      }t        j                  ||«       y )
Nz,[{"id": 99, "data": [{"one": 1, "two": 2}]}]rŠ   r  r{   rQ   rR   éc   )Údtype)ÚoneÚtwor  )
ra   rb   rå   ræ   rc   rp   rq   Úobjectrd   re   r¡   s       r!   Útest_meta_non_iterablez(TestJSONNormalize.test_meta_non_iterable0  se   € àAˆä×"Ñ"¤4§:¡:¨dÓ#3À&ÀÐQUÐPVÔWˆÜ—<‘<Ø�C  ¬2¯8©8°R°DÄÔ+GÑHó
ˆô 	×Ñ˜f hÕ/r    c                 ó¦   ‡— ˆfd„}t        j                   |«       «      }t        j                  ‰d   d   «      }t        j                  ||«       y )Nc               3   ó2   •K  — ‰ d   d   E d {  –—†  y 7 Œ­w)Nr   r/   r   )r8   s   €r!   Úgenerator_dataz8TestJSONNormalize.test_generator.<locals>.generator_data=  s   øè ø€ Ø! !‘} ZÑ0×0Ò0ús   ƒ��r   r/   r`   )rg   r8   r8  ri   rj   s    `   r!   Útest_generatorz TestJSONNormalize.test_generator:  sD   ø€ ô	1ô ×"Ñ"¡>Ó#3Ó4ˆÜ—<‘< 
¨1¡¨jÑ 9Ó:ˆä
×Ñ˜f hÕ/r    c                 óª   — dddidœddœ}t        j                  |d¬«      }t        j                  g d	¢gg d
¢¬«      }t        j                  ||«       y )Nr]   Úl3r   )Úa1Úl2rW   )Ú_idÚggr�   r‘   )rW   r]   r   )r?  Ú_id_a1Ú	_id_l2_l3r†   r`   r¡   s       r!   Ú'test_top_column_with_leading_underscorez9TestJSONNormalize.test_top_column_with_leading_underscoreE  sJ   € à ¨¨q¨	Ñ2¸!Ñ<ˆÜ×"Ñ" 4¨SÔ1ˆÜ—<‘<¢ Ò6SÔTˆä
×Ñ˜f hÕ/r    c                 óX  — t        j                  ddg«      }t        j                  ||¬«      }t        j                  |«      }t	        j
                  |j                  |«       t        j                  |d«      }t	        j
                  |j                  |j                  ddg«      «       y )NrZ   r[   r"  r/   rS   rR   )ra   r—   rÝ   rb   rd   Úassert_index_equalr#  rr   )rg   r8   ÚidxÚseriesri   s        r!   Útest_series_indexz#TestJSONNormalize.test_series_indexM  s{   € Ü�h‰h˜˜1�vÓˆÜ—‘˜:¨SÔ1ˆÜ×"Ñ" 6Ó*ˆÜ
×Ñ˜fŸl™l¨CÔ0Ü×"Ñ" 6¨:Ó6ˆÜ
×Ñ˜fŸl™l¨C¯J©J¸¸1°vÓ,>Õ?r    )"r+  Ú
__module__Ú__qualname__rk   ru   r~   r�   rˆ   ÚmarkÚparametrizeÚNotImplementedErrorrŒ   rš   r¢   r¦   r©   r­   r²   r·   rË   rÎ   rÕ   rá   ré   rþ   r  r  r  r%  r.  r5  r9  rB  rG  r   r    r!   rO   rO   k   s  „ ò0ò0ò&0ò0ð
 ‡[�[×ÑØ+à�Aˆh˜˜a˜Ð! 4¨Ð.Ø�S˜!�H˜s A˜hÐ'Ð(¨#¨tÐ4Ø*¨DÐ2EÐFØ�4Ð,Ð-ð		
óñ4óð4ò=ò.0ò0ò0ò(0ò<"0òH0ò(!ò.!ò(0ò$0ò0ò 0ð: ‡[�[×ÑØð ð &1Ø,3¸YÑ%GØ&,¨iÐ%8Ø"% s ñ	ð &1Ø,3¸YÑ%GØ&,¨iÐ%8Ø"% s ñ	ððð$ ð &1Ø(/Ø*3Ø&,¨iÐ%8Ø"% s ñð &1Ø(/Ø*3Ø&,¨iÐ%8Ø"% s ñððð%%	
ó(ñR-óS(ðR-ð@ ‡[�[×Ñ˜[¨1¨d¨)Ó4ñ
Fó 5ð
Fò(ò*ð ‡[�[×Ñ˜WÒ&LÓMñ
Eó Nð
Eò0ò	0ò0ó@r    rO   c                   óô   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zej                  j!                  ddddddddœgfdddiddddœdœddidœgfddddddœddœgfg«      d„ «       Zd„ Zd„ Zd„ Zy) ÚTestNestedToRecordc                 ó@   — dddœdddœg}t        |«      }|}||k(  sJ ‚y )NrQ   rR   )Úflat1Úflat2rS   rW   )Úflat3rQ  r   rf   s       r!   Útest_flat_stays_flatz'TestNestedToRecord.test_flat_stays_flatW  s3   € Ø aÑ(°AÀÑ*BÐCˆÜ! $Ó'ˆØˆØ˜Ò!Ð!Ñ!r    c                 óD   — ddddœdœ}t        |«      }ddddœ}||k(  sJ ‚y )NrQ   rR   ©rV   Úd)rP  Údict1)údict1.cúdict1.drP  r   r¡   s       r!   Útest_one_level_deep_flattensz/TestNestedToRecord.test_one_level_deep_flattens]  s5   € Ø¨1°1Ñ%5Ñ6ˆä! $Ó'ˆØ ¨Q¸Ñ;ˆà˜Ò!Ð!Ñ!r    c                 óX   — ddddœdddœddœdœ}t        |«      }dddddddœ}||k(  sJ ‚y )NrQ   rR   rU  )ÚerV  )rP  rW  Únested)rX  rY  rP  znested.dz
nested.e.cz
nested.e.dr   r¡   s       r!   Útest_nested_flattensz'TestNestedToRecord.test_nested_flattense  sV   € àØ 1Ñ%Ø"#¨!Ñ,°1Ñ5ñ
ˆô " $Ó'ˆàØØØØØñ
ˆð ˜Ò!Ð!Ñ!r    c                 óš   — d}t        j                  t        |¬«      5  t        j                  |ddd¬«       d d d «       y # 1 sw Y   y xY w)Nú^Key 'name' not found. To replace missing values of 'name' with np.nan, pass in errors='ignore'rƒ   rE   r
   Úraiserµ   ©rˆ   r‰   ÚKeyErrorra   rb   ©rg   rM   rÉ   s      r!   Útest_json_normalize_errorsz-TestNestedToRecord.test_json_normalize_errorsx  sK   € ð:ð 	ô �]‰]œ8¨3Ô/ñ 	Ü×ÑØ%Ø'ØØõ	÷	÷ 	ñ 	ús   žAÁA
c                 óÌ   — t        j                  |ddd¬«      }g d¢dddd	d
t        j                  gg}g d¢}t        j                  ||¬«      }t        j                  ||«       y )NrE   r
   r´   rµ   )r;   r<   r=   r7   r>   r:   rG   rH   rI   rJ   rK   )r?   r@   rA   r2   rB   r
   r†   rû   ©rg   rM   ri   r¬   r‡   rj   s         r!   Útest_missing_metaz$TestNestedToRecord.test_missing_meta‰  sg   € ô ×"Ñ"Ø!¨{ÀÐPXô
ˆò DØ�< °°u¼b¿f¹fÐEð
ˆò GˆÜ—<‘< °Ô9ˆÜ
×Ñ˜f hÕ/r    c                 óÈ  — dd ddiddigdœ}t        j                  |dddd	ggd
¬«      }ddt        j                  gddt        j                  gg}g d¢}t        j                  ||¬«      j                  dt        i«      }t        j                  ||«       t        j                  t        d¬«      5  t        j                  |dddd	ggd¬«       d d d «       y # 1 sw Y   y xY w)Nr¾   rt   rQ   rR   )rn   Únested_metar&  r&  rn   rj  Úleafr´   )r|   rn   r¶   )rt   rn   únested_meta.leafr†   rl  z'leaf' not foundrƒ   ra  )ra   rb   rp   rü   rc   Úastyper4  rd   re   rˆ   r‰   rc  )rg   rŠ   ri   r¬   r‡   rj   s         r!   Útest_missing_nested_metaz+TestNestedToRecord.test_missing_nested_meta˜  sê   € ð ¨d¸uÀa¸jÈ5ÐRSÈ*Ð=UÑVˆÜ×"Ñ"ØØØ˜=¨&Ð1Ð2Øô	
ˆð �uœbŸf™fÐ%¨¨5´"·&±&Ð'9Ð:ˆÚ5ˆÜ—<‘< °Ô9×@Ñ@Ø¤Ð(ó
ˆô 	×Ñ˜f hÔ/ô �]‰]œ8Ð+=Ô>ñ 	Ü×ÑØØ#Ø˜}¨fÐ5Ð6Øõ	÷	÷ 	ñ 	ús   Â1CÃC!c                 óž   — d}t        j                  t        |¬«      5  t        j                  |ddgdd¬«       d d d «       y # 1 sw Y   y xY w)Nr`  rƒ   rF   r   r
   ra  rµ   rb  rd  s      r!   Ú5test_missing_meta_multilevel_record_path_errors_raisezHTestNestedToRecord.test_missing_meta_multilevel_record_path_errors_raise³  sP   € ð
:ð 	ô �]‰]œ8¨3Ô/ñ 	Ü×ÑØ%Ø2°HÐ=ØØõ	÷	÷ 	ñ 	ús   žAÁAc                 óÈ   — t        j                  |ddgdd¬«      }ddgdt        j                  gg}d	dg}t        j                  ||¬
«      }t        j                  ||«       y )NrF   r   r
   r´   rµ   rD   r:   rL   rC   r†   rû   rg  s         r!   Ú6test_missing_meta_multilevel_record_path_errors_ignorezITestNestedToRecord.test_missing_meta_multilevel_record_path_errors_ignoreÃ  sn   € ô ×"Ñ"Ø!Ø.°Ð9ØØô	
ˆð ˜gÐ&Øœ2Ÿ6™6Ð"ð
ˆð  Ð'ˆÜ—<‘< °Ô9ˆÜ
×Ñ˜f hÕ/r    c                 óh   — d dddœdœdddœdd	dœdœg}t        |«      }d ddd
œdd	dddœg}||k(  sJ ‚y )NÚSmithÚ	Appleseedrò   rõ   rë   rì   rí   rð   rñ   )r0   rù   rú   )rù   rú   r÷   rø   r   r¡   s       r!   Útest_donot_drop_nonevaluesz-TestNestedToRecord.test_donot_drop_nonevaluesÕ  ss   € ð °GÈ+Ñ*VÑWà'3À\ÑRØ)/¸eÑDñð
ˆô " $Ó'ˆð Ø%,Ø)4ñð &,Ø).Ø#/Ø%1ñ	ð
ˆð ˜Ò!Ð!Ñ!r    c           
      ó`   — d ddd d d ddddœdœiidœ}t        |«      }d d d d dddd	œ}||k(  sJ ‚y )
Nr   r2   ç    g“H@ç   À“@Àç   €‚’;@)r  ÚregionrÒ   ÚyÚz©r  z	town.info©r  Úlocation)r  úlocation.country.state.idz#location.country.state.town.info.idú'location.country.state.town.info.regionú"location.country.state.town.info.xú"location.country.state.town.info.yú"location.country.state.town.info.zr   r¡   s       r!   Ú$test_nonetype_top_level_bottom_levelz7TestNestedToRecord.test_nonetype_top_level_bottom_levelï  sr   € ð àØØ"à"&Ø&*Ø!3Ø!4Ø!3ñ&ñ	ððñ
ˆô" " $Ó'ˆàØ)-Ø37Ø7;Ø2DØ2EØ2Dñ
ˆð ˜Ò!Ð!Ñ!r    c           	      ód   — d d d d d ddddœdœdœdœdœ}t        |«      }d d d d d dddd	œ}||k(  sJ ‚y )
Nrx  ry  rz  )r{  rÒ   r|  r}  r~  )r  r2   )r  r   r  )r  zlocation.idzlocation.country.idr�  r‚  rƒ  r„  r…  r   r¡   s       r!   Útest_nonetype_multiple_levelsz0TestNestedToRecord.test_nonetype_multiple_levels  sr   € ð ààà"à&*Ø!3Ø!4Ø!3ñ	&ññññ
ˆô$ " $Ó'ˆàØØ#'Ø)-Ø7;Ø2DØ2EØ2Dñ	
ˆð ˜Ò!Ð!Ñ!r    zmax_level, expectedNr  rÿ   r   r  rU   )úCreatedBy.NameúLookup.TextFieldzLookup.UserField.IdzLookup.UserField.NameúImage.ar   r  r  r  rT   ©r  r  r	  rQ   )r‰  rŠ  zLookup.UserFieldr‹  c                 óN   — ddiddddœdœdd	id
œg}t        ||¬«      }||k(  sJ ‚y )Nr  r  rÿ   r   r  r  r  rT   rU   rŒ  r  r   )rg   r  rj   Úmax_level_test_input_dataÚoutputs        r!   Útest_with_max_levelz&TestNestedToRecord.test_with_max_level1  sP   € ðZ % iÐ0à!,Ø(/¸Ñ!Cñð ˜s˜ñð	%
Ð!ô "Ð";ÀyÔQˆØ˜Ò!Ð!Ñ!r    c           	      óx   — d}dddddœddd	d
ddidœdœdœidœiig}dddd	d
ddœg}t        ||¬«      }||k(  sJ ‚y )Néd   r  ÚuserÚLeoÚThomson)Ú	firstnameÚLastNameÚfatherÚ	Father001Ú	Father002Ú	Father003r  Ú	Father004)r
   r˜  )r  r˜  )r
   Úfamily_tree)zCreatedBy.user.name.firstnamezCreatedBy.user.name.LastNamez&CreatedBy.user.family_tree.father.namez-CreatedBy.user.family_tree.father.father.Namez4CreatedBy.user.family_tree.father.father.father.namez;CreatedBy.user.family_tree.father.father.father.father.Namer  r   )rg   r  Ú
input_datarj   r�  s        r!   Útest_with_large_max_levelz,TestNestedToRecord.test_with_large_max_leveli  s‘   € àˆ	ð ØØ.3ÀÑ Kà$Ø(3à,7à0;Ø39¸;Ð2Gñ/&ñ+"ñ	'ð(ñððð
ˆ
ð. 27Ø09Ø:EØALØHSØOZñð	
ˆô " *¸	ÔBˆØ˜Ò!Ð!Ñ!r    c           	      óÆ  — ddddidœddddidœdd	d
didœdœ}t        j                  |«      }g d¢|_        t        j                  |«      }t        j                  g d¢g d¢dt
        j                  t
        j                  gt
        j                  dt
        j                  gt
        j                  t
        j                  dgdœg d¢¬«      }t        j                  ||«       y )NrQ   ÚFoorT   )r  r
   ÚelementsrR   ÚBarrU   rS   ÚBazrV   )r   rQ   rR   rw   )r¡  r£  r¤  r  g       @g      @)r  r
   z
elements.az
elements.bz
elements.cr"  )	ra   rÝ   r#  rb   rc   rp   rü   rd   re   )rg   rŠ   rà   ri   rj   s        r!   Útest_series_non_zero_indexz-TestNestedToRecord.test_series_non_zero_indexŽ  sÁ   € ð  °S¸!°HÑ=Ø °S¸!°HÑ=Ø °S¸!°HÑ=ñ
ˆô
 �I‰I�d‹OˆÚˆŒÜ×"Ñ" 1Ó%ˆÜ—<‘<âÚ-Ø"¤B§F¡F¬B¯F©FÐ3Ü!Ÿv™v s¬B¯F©FÐ3Ü!Ÿv™v¤r§v¡v¨sÐ3ñò ô	
ˆô 	×Ñ˜f hÕ/r    c                 ó<  — ddddigdœg}t        j                  t        d¬«      5  t        j                  |dg¬	«       d d d «       t        j                  t        d¬«      5  t        j                  |d
gdg¬«       d d d «       y # 1 sw Y   ŒHxY w# 1 sw Y   y xY w)NrQ   Ú
meta_valuerU   rR   )rT   r_   r]  zmust be stringsrƒ   r_   rm   r]  r{   )rˆ   r‰   r  ra   rb   )rg   rŠ   s     r!   Ú*test_json_normalize_meta_string_validationz=TestNestedToRecord.test_json_normalize_meta_string_validation¤  s•   € à˜\°s¸A°h°ZÑ@ÐAˆô �]‰]œ9Ð,=Ô>ñ 	/Ü×Ñ˜d¨"¨Õ.÷	/ô �]‰]œ9Ð,=Ô>ñ 	GÜ×Ñ˜d°°
À"ÀÕF÷	Gð 	G÷	/ð 	/ú÷	Gð 	Gús   ¦BÁ"BÂBÂB)r+  rH  rI  rS  rZ  r^  re  rh  rn  rp  rr  rv  r†  rˆ  rˆ   rJ  rK  r�  rŸ  r¥  r¨  r   r    r!   rN  rN  V  sý   „ ò"ò"ò"ò&ò"0òò6ò 0ò$"ò4"ò@ "ðD ‡[�[×ÑØð ð +4Ø,7Ø/6Ø1:Ø#&ñððð ð '-¨iÐ%8à)4Ø07ÀÑ)Kñ#ð #& s ñð	ðð ð +4Ø,7Ø3:ÀIÑ,NØ#&ñ	ðð
ð5%	
ó(ñR"óS(ðR"ò#"òJ0ó,	Gr    rN  )rå   Únumpyrp   rˆ   Úpandasra   Úpandas._testingÚ_testingrd   Úpandas.io.json._normalizer   Úfixturer"   r8   rM   rO   rN  r   r    r!   ú<module>r¯     s}   ðÛ ã Û ã Ý å 6ð ‡�ñ#ó ð#ðL ‡�ñó ðð0 ‡�ñó ð÷<h@ñ h@÷VWGò WGr    