Ë
    ¤eh`x  ã                   ó(  — d dl Z d dlZd dlZd dlmZmZmZmZ d dl	m
Z d dlmZ ej                  d„ «       Zej                  d„ «       Zej                  d„ «       Zej                  d„ «       Zej                  d„ «       Z G d	„ d
«      Z G d„ d«      Zy)é    N)Ú	DataFrameÚIndexÚSeriesÚjson_normalize©Ú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#   ó    úa/var/www/skyplay_api_hub/venv/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_datar<   8   sl   € ð
  ¨uÑ5Ø"°%Ñ8Ø%°UÑ;ðð
   Ð.ØØñ		
ð "°Ñ6Ø#°4Ñ8ðð   Ð/ØØñ	
ðð r$   c                  ó    — dd idddœdddœdœgS )	Nr4   ú
11/08/1993ú
26/05/2012©Ú
created_atÚlast_updatedÚJaneÚDoe©ÚfirstÚ	last_name©r4   Úauthor_namer#   r#   r$   r%   Úauthor_missing_datarJ   Q   s*   € ð 
�ˆà#/ÀÑNØ%+¸%Ñ@ñ	
ðð 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.Ú	Massillonr;   éf®  )ÚnumberÚstreetÚcityr6   Úzipr   Ú	city_nameúFoo York City)r   Ú	addressesÚprevious_residencesé!  ú
Spring St.ÚElizabethtonÚTNé“  Ú
Barmingham)rW   rX   r#   r#   r$   r%   Úmissing_metadatar_   \   su   € ð ð #Ø*Ø'Ø!Ø ñðð %-°¸_Ð/MÐ.NÐ#Oñ	
ð  #Ø*Ø*Ø!Ø ñðð %-°¸\Ð/JÐ.KÐ#Lñ	
ðð r$   c                  ó$   — ddiddddœdœdd	id
œgS )z@
    input data to test json_normalize with max_level param
    ÚNameÚUser001ú	Some textÚID001ÚName001©ÚIdra   ©Ú	TextFieldÚ	UserFieldÚaÚb©Ú	CreatedByÚLookupÚImager#   r#   r$   r%   Úmax_level_test_input_datarq   {   s4   € ð ! )Ð,à(Ø$+°YÑ?ñð ˜3�Zñ	
ð	ð 	r$   c                   ó  — 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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d#„ Zd$„ Zej                  j                  d%g d&¢«      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        |«      }t        |«      }t        j                  ||«       y )Né   é   é   )rk   rl   Úcé   é   é   é   é   é	   é
   é   é   ©r   r   ÚtmÚassert_frame_equal©ÚselfÚrecsÚresultÚexpecteds       r%   Útest_simple_recordsz%TestJSONNormalize.test_simple_records�   sV   € à˜! !Ñ$Ø˜! !Ñ$Ø˜! !Ñ$Ø˜2 BÑ'ð	
ˆô   Ó%ˆÜ˜T“?ˆä
×Ñ˜f hÕ/r$   c                 ó¢  — t        |d   d«      }t        |d   d   «      }t        j                  ||«       t        |d«      }g }|D ]  }|j	                  |d   «       Œ t        |«      }t        j                  ||«       t        |dd¬«      }t        j                  ddg«      j                  ddg«      |d<   t        j                  ||«       y )	Nr   r3   r6   ©Úmetar2   r   rw   rv   )r   r   rƒ   r„   ÚextendÚnpÚarrayÚrepeat©r†   r<   rˆ   r‰   Úrecs        r%   Útest_simple_normalizez'TestJSONNormalize.test_simple_normalizeš   sÄ   € Ü 
¨1¡¨zÓ:ˆÜ˜Z¨™]¨:Ñ6Ó7ˆÜ
×Ñ˜f hÔ/ä 
¨JÓ7ˆàˆØò 	-ˆCØ�O‰O˜C 
™OÕ,ð	-ä˜XÓ&ˆä
×Ñ˜f hÔ/ä 
¨J¸WÔEˆÜŸH™H i°Ð%8Ó9×@Ñ@À!ÀQÀÓHˆ�Ñä
×Ñ˜f hÕ/r$   c                 óž   — g d¢dddgidœg}t        |dgddgg¬«      }t        g d¢ddgddgddggd	œ«      }t        j                  ||«       y )
N©ru   rv   rw   Úlistdataru   rv   )ÚvaluesÚmetadatar˜   r™   ©Úrecord_pathr�   )r   zmetadata.listdatar‚   )r†   Úparse_metadata_fields_list_typerˆ   r‰   s       r%   Útest_fields_list_type_normalizez1TestJSONNormalize.test_fields_list_type_normalize­   ss   € â ¨z¸A¸q¸6Ð.BÑCð+
Ð'ô  Ø+Ø!˜
Ø˜zÐ*Ð+ô
ˆô
 Ú°!°Q°¸!¸Q¸À!ÀQÀÐ0HÑIó
ˆô 	×Ñ˜f hÕ/r$   c                 óZ   — t        g «      }t        «       }t        j                  ||«       y )Nr‚   ©r†   rˆ   r‰   s      r%   Útest_empty_arrayz"TestJSONNormalize.test_empty_array»   s#   € Ü Ó#ˆÜ“;ˆÜ
×Ñ˜f hÕ/r$   z!data, record_path, exception_typerk   r   ru   Nz{"a": [{"a": 0}, {"a": 1}]}c                 óâ   — |�.t        j                  |d¬«      5  t        ||¬«       d d d «       y t        ||¬«      }t        ddgdg¬«      }t	        j
                  ||«       y # 1 sw Y   y xY w)NÚ ©Úmatch©r›   r   ru   rk   ©Úcolumns)ÚpytestÚraisesr   r   rƒ   r„   )r†   Údatar›   Úexception_typerˆ   r‰   s         r%   Útest_accepted_inputz%TestJSONNormalize.test_accepted_inputÀ   sl   € ð Ð%Ü—‘˜~°RÔ8ñ >Ü˜t°Õ=÷>ð >ô $ D°kÔBˆFÜ  ! Q °#°Ô7ˆHÜ×!Ñ! &¨(Õ3÷>ð >ús   šA%Á%A.c                 ól  — t        ddddœi«      }t        ddggddg¬«      }t        j                  |j	                  |«      |«       t        ddddœid¬	«      }t        ddggd
dg¬«      }t        j                  |j	                  |«      |«       t        ddddœid¬	«      }t        ddggddg¬«      }t        j                  |j	                  |«      |«       t        |ddgdddggd¬«      }t        g d¢«      j                  «       }|j                  j                  «       j                  |«      sJ ‚y )NÚAru   rv   )r®   ÚBzA.AzA.Br¦   Ú_©ÚsepÚA_AÚA_Bu   Ïƒu   AÏƒAu   AÏƒBr   r   r   r   )r�   r²   )r   r   r   Ústates_name)	r   r   rƒ   r„   Úreindex_liker   Úsort_valuesr§   Úequals)r†   r&   rˆ   r‰   s       r%   Ú$test_simple_normalize_with_separatorz6TestJSONNormalize.test_simple_normalize_with_separatorÒ   s2  € ä ¨A°AÑ&6Ð 7Ó8ˆÜ˜q !˜f˜X°°u¨~Ô>ˆÜ
×Ñ˜f×1Ñ1°(Ó;¸XÔFä ¨A°AÑ&6Ð 7¸SÔAˆÜ˜q !˜f˜X°°u¨~Ô>ˆÜ
×Ñ˜f×1Ñ1°(Ó;¸XÔFä ¨A°AÑ&6Ð 7¸XÔFˆÜ˜q !˜f˜X°
¸JÐ/GÔHˆÜ
×Ñ˜f×1Ñ1°(Ó;¸XÔFäØØ�xÐ Ø˜h¨Ð/Ð0Øô	
ˆô ÒBÓC×OÑOÓQˆØ�~‰~×)Ñ)Ó+×2Ñ2°8Ô<Ð<Ñ<r$   c                 óˆ   — ddgdddœdœ}t        |d¬«      }t        ddgddggg d¢¬	«      }t        j                  ||«       y )
Nru   rv   )rw   ry   )Úb_1Úb_2)rk   rl   Ú__r±   )rk   Úb__b_1Úb__b_2r¦   r‚   ©r†   rª   rˆ   r‰   s       r%   Ú'test_normalize_with_multichar_separatorz9TestJSONNormalize.test_normalize_with_multichar_separatoré   sL   € à˜�V¨!°FÑ";Ñ<ˆÜ ¨$Ô/ˆÜ  1˜v q¨&Ð1Ð2Ò<UÔVˆÜ
×Ñ˜f hÕ/r$   c                 óx   — t        dddgidd¬«      }t        dgdggdg¬«      }t        j                  ||«       y )Nr®   ru   rv   zPrefix.)Úrecord_prefixzPrefix.0r¦   r‚   rŸ   s      r%   Útest_value_array_record_prefixz0TestJSONNormalize.test_value_array_record_prefixð   s>   € ä  q¨! f ¨sÀ)ÔLˆÜ˜q˜c A 3˜Z°*°Ô>ˆÜ
×Ñ˜f hÕ/r$   c                 ó¦   — dddddœdddœdd	dœgd
œdœ}t        |ddg¬«      }t        ddgddgdd	ggddg¬«      }t        j                  ||«       y )Nr2   r0   r(   r   r)   r+   r,   r-   r.   )r/   r3   ©r6   r4   r4   r3   r¥   r   r*   r¦   r‚   rÀ   s       r%   Útest_nested_object_record_pathz0TestJSONNormalize.test_nested_object_record_pathö   s‚   € ð à(à#°5Ñ9Ø&°eÑ<Ø)¸Ñ?ðññ

ˆô   °6¸:Ð2FÔGˆÜØ�eˆ_˜y¨%Ð0°<ÀÐ2GÐHØ˜\Ð*ô
ˆô 	×Ñ˜f hÕ/r$   c                 ó¶   — t        |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                  ¬«      }t        j                  ||«       y )Nr   r   r   r   rŒ   r
   ry   r   rw   )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¦   ©r   r   r§   rƒ   r„   )r†   r&   rˆ   Úex_datar‰   s        r%   Útest_more_deeply_nestedz)TestJSONNormalize.test_more_deeply_nested
  sq   € ÜØ˜( HÐ-°YÀÈ6Ð@RÐ4Sô
ˆð �w ‘{ i [°1¡_Ñ4òòò Añ)
ˆô. ˜W¨f¯n©nÔ=ˆÜ
×Ñ˜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        |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                  ¬«      }t        j                  ||«       y )Nr2   r1   r/   r0   r(   r   r)   r+   r,   r-   r.   )r6   r5   r4   r3   r   r;   r:   r7   r   r8   r9   r3   r6   r5   r4   ©r(   r+   r-   r7   r8   rw   rv   )r1   r1   r1   r;   r;   ©r   r,   r.   r   r9   )r   r6   r5   úinfo.governorr*   r¦   rÉ   )r†   rª   rˆ   rÊ   r‰   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Ú;ñ
ˆô ˜W¨f¯n©nÔ=ˆÜ
×Ñ˜f hÕ/r$   c                 óÊ   — t        |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        |«      }t        j                  ||«       y )Nr3   r6   r5   r4   r/   Úignore©rª   r›   r�   ÚerrorsrÍ   rÎ   r2   rw   r   rv   r1   r;   r0   r:   )r   r*   r6   r5   rÏ   r‚   )r†   r<   rˆ   rÊ   r‰   s        r%   Ú-test_nested_meta_path_with_nested_record_pathz?TestJSONNormalize.test_nested_meta_path_with_nested_record_pathL  s�   € äØØ#˜Ø˜;¨°Ð(<Ð=Øô	
ˆò LÚ;Ø�[ 1‘_¨ x°!¡|Ñ3Ø˜ !™ t f¨q¡jÑ0Ø*˜^¨aÑ/°=°/ÀAÑ2EÑEñ
ˆô ˜WÓ%ˆÜ
×Ñ˜f hÕ/r$   c                 óâ   — dddddœdddœgdœg}d	}t        j                  t        |¬
«      5  t        |dddg¬«       d d d «       t        |dddgd¬«      }dD ]  }||v rŒJ ‚ y # 1 sw Y   Œ(x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Ý   rŒ   r�   ©r�   Úmeta_prefix©ÚmetafooÚmetabarrÜ   rÝ   )r¨   r©   Ú
ValueErrorr   )r†   rª   Úmsgrˆ   Úvals        r%   Útest_meta_name_conflictz)TestJSONNormalize.test_meta_name_conflict`  s—   € ð Øà'°Ñ7Ø(°Ñ9ðñð	
ˆð QˆÜ�]‰]œ:¨SÔ1ñ 	>Ü˜4 ¨u°e¨nÕ=÷	>ô    f°E¸5°>ÈvÔVˆà7ò 	!ˆCØ˜&’=Ð �=ñ	!÷	>ð 	>ús   ­A%Á%A.c                 ót   — dddddœdddœgdœg}d	d
g}t        |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ª   r�   rá   rã   )r   )r†   rª   ÚCOLUMNSrˆ   rè   s        r%   Ú test_meta_parameter_not_modifiedz2TestJSONNormalize.test_meta_parameter_not_modifiedu  ss   € ð Øà'°Ñ7Ø(°Ñ9ðñð	
ˆð ˜%�.ˆÜ  f°7ÈÔOˆà˜5 %˜.Ò(Ð(Ð(Ø7ò 	!ˆCØ˜&’=Ð �=ñ	!r$   c                 ó†  — t        |d   d«      }t        |d   d   «      }t        j                  ||«       t        |ddd¬«      }g }|D ]  }|j	                  |d   «       Œ t        |«      }|j                  d„ ¬«      }t        j                  dd	g«      j                  d
dg«      |d<   t        j                  ||«       y )Nr   r3   r6   Úcounty_)r�   rÃ   c                 ó   — d| z   S )Nrî   r#   )Úxs    r%   ú<lambda>z6TestJSONNormalize.test_record_prefix.<locals>.<lambda>–  s
   € °YÀ±]€ r$   r¦   r2   r   rw   rv   )	r   r   rƒ   r„   rŽ   Úrenamer�   r�   r‘   r’   s        r%   Útest_record_prefixz$TestJSONNormalize.test_record_prefix‰  sÀ   € Ü 
¨1¡¨zÓ:ˆÜ˜Z¨™]¨:Ñ6Ó7ˆÜ
×Ñ˜f hÔ/äØ˜
¨À	ô
ˆð ˆØò 	-ˆCØ�O‰O˜C 
™OÕ,ð	-ä˜XÓ&ˆØ—?‘?Ñ+B�?ÓCˆÜŸH™H i°Ð%8Ó9×@Ñ@À!ÀQÀÓHˆ�Ñä
×Ñ˜f hÕ/r$   c                 óÞ   — dj                  d«      }dj                  d«      ddgdddgdd	d
gi}t        |«      }t        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   ru   zsub.Arw   zsub.Brv   ry   )Údecoder   r   ÚjsonÚloadsrƒ   r„   )r†   ÚtestjsonÚtestdatar‰   rˆ   s        r%   Útest_non_ascii_keyz$TestJSONNormalize.test_non_ascii_key›  st   € ðAç
‰&�‹.ð 	ð %×+Ñ+¨FÓ3°a¸°VØ�a˜�VØ�a˜�Vð
ˆô
 ˜XÓ&ˆä¤§
¡
¨8Ó 4Ó5ˆÜ
×Ñ˜f hÕ/r$   c                 ó  — t        |«      }t        j                  t        j                  t        j                  t        j                  t        j                  dœd dddddœg}t        |«      }t	        j
                  ||«       y )N)r4   úinfo.created_atúinfo.last_updatedúauthor_name.firstúauthor_name.last_namer>   r?   rC   rD   ©r   r�   Únanr   rƒ   r„   )r†   rJ   rˆ   rÊ   r‰   s        r%   Útest_missing_fieldz$TestJSONNormalize.test_missing_field«  sp   € äÐ 3Ó4ˆô Ÿ™Ü#%§6¡6Ü%'§V¡VÜ%'§V¡VÜ)+¯©ñð Ø#/Ø%1Ø%+Ø).ñð
ˆô  ˜WÓ%ˆÜ
×Ñ˜f hÕ/r$   zmax_level,expectedrc   rd   re   rf   ra   rb   rl   )ri   rj   rn   rp   )ri   zUserField.IdzUserField.Namern   rp   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        |dgdgdgg|¬«      }t        ||j                  j                  ¬«      }t	        j
                  ||«       y )Nra   rb   rc   rd   re   rf   rh   rk   rl   rÙ   rÚ   rÛ   rÞ   rß   )rn   ro   rp   Útagsro   rn   rp   )r›   r�   Ú	max_level)rª   r§   )r   r   r§   r˜   rƒ   Úassert_equal)r†   r  r‰   Ú
test_inputrˆ   Ú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ðñð
ˆ
ô*  ØØ!˜
Ø�- ' Ð+Øô	
ˆô   X°v·~±~×7LÑ7LÔMˆÜ
�‰˜ VÕ,r$   c                 óv   — t        dddiig«      }t        ddddiigid«      }t        j                  ||«       y )Nr®   r¯   ru   Údummy)r   rƒ   r„   )r†   Údf1Údf2s      r%   Ú!test_nested_flattening_consistentz3TestJSONNormalize.test_nested_flattening_consistent
  sE   € ä˜s S¨! H˜oÐ.Ó/ˆÜ˜g¨¨s°A¨h¨Ð'8Ð9¸7ÓCˆô 	×Ñ˜c 3Õ'r$   c                 ó‚   — t        d|dœdddigdœgdg¬«      }t        ddidg¬	«      }t        j                  ||«       y )
NÚTexasrÆ   r2   Úirv   r4   r¥   r   )Úindex)r   r   rƒ   r  )r†   Únulls_fixturerˆ   r‰   s       r%   Útest_nonetype_record_pathz+TestJSONNormalize.test_nonetype_record_path  sR   € ô  à!¨=Ñ9Ø#¨s°A¨h¨ZÑ8ðð  ˜ô
ˆô ˜c 1˜X¨a¨SÔ1ˆÜ
�‰˜ Õ)r$   Úvalue)ÚfalseÚtruez{}Ú1z"text"c                 óÐ   — t        j                  |«      }d|dœ}d}|› d|› d|› d�}t        j                  t        |¬«      5  t        |g|g¬«       d d d «       y # 1 sw Y   y xY w)	Nr  rÆ   r4   z has non list value z
 for path z. Must be list or null.r£   r¥   )r÷   rø   r¨   r©   Ú	TypeErrorr   )r†   r  Úparsed_valuer  Ú	test_pathrç   s         r%   Ú test_non_list_record_path_errorsz2TestJSONNormalize.test_non_list_record_path_errors  sz   € ô —z‘z %Ó(ˆØ&°Ñ=ˆ
Øˆ	àˆlÐ.¨|¨n¸JÀyÀkð R$ð $ð 	ô �]‰]œ9¨CÔ0ñ 	BÜ˜J˜<°i°[ÕA÷	B÷ 	Bñ 	Bús   ÁAÁA%c                 óÐ   — d}t        t        j                  |«      dgdg¬«      }t        dgdgt	        j
                  dgt        ¬«      d	œ«      }t        j                  ||«       y )
Nz,[{"id": 99, "data": [{"one": 1, "two": 2}]}]rª   Úidrš   ru   rv   éc   )Údtype)ÚoneÚtwor   )	r   r÷   rø   r   r�   r�   Úobjectrƒ   r„   rÀ   s       r%   Útest_meta_non_iterablez(TestJSONNormalize.test_meta_non_iterable,  sY   € àAˆä¤§
¡
¨4Ó 0¸v¸hÈdÈVÔTˆÜØ�C  ¬2¯8©8°R°DÄÔ+GÑHó
ˆô 	×Ñ˜f hÕ/r$   c                 ó~   ‡— ˆfd„}t         |«       «      }t        ‰d   d   «      }t        j                  ||«       y )Nc               3   ó2   •K  — ‰ d   d   E d {  –—†  y 7 Œ­w)Nr   r3   r#   )r<   s   €r%   Úgenerator_dataz8TestJSONNormalize.test_generator.<locals>.generator_data9  s   øè ø€ Ø! !‘} ZÑ0×0Ò0ús   ƒ��r   r3   r‚   )r†   r<   r)  rˆ   r‰   s    `   r%   Útest_generatorz TestJSONNormalize.test_generator6  s:   ø€ ô	1ô  ¡Ó 0Ó1ˆÜ˜Z¨™]¨:Ñ6Ó7ˆä
×Ñ˜f hÕ/r$   c                 ó‚   — dddidœddœ}t        |d¬«      }t        g d	¢gg d
¢¬«      }t        j                  ||«       y )Nr   Úl3r   )Úa1Úl2ry   )Ú_idÚggr°   r±   )ry   r   r   )r0  Ú_id_a1Ú	_id_l2_l3r¦   r‚   rÀ   s       r%   Ú'test_top_column_with_leading_underscorez9TestJSONNormalize.test_top_column_with_leading_underscoreA  s@   € à ¨¨q¨	Ñ2¸!Ñ<ˆÜ ¨#Ô.ˆÜšj˜\Ò3PÔQˆä
×Ñ˜f hÕ/r$   )Ú__name__Ú
__module__Ú__qualname__rŠ   r”   r�   r    r¨   ÚmarkÚparametrizeÚNotImplementedErrorr¬   r¹   rÁ   rÄ   rÇ   rË   rÐ   rÕ   ré   rì   ró   rû   r  r
  r  r  r  r&  r*  r3  r#   r$   r%   rs   rs   Œ   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ð, ‡[�[×ÑØð ð &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-ò@(ò*ð ‡[�[×Ñ˜WÒ&LÓMñ
Bó Nð
Bò0ò	0ó0r$   rs   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y)ÚTestNestedToRecordc                 ó@   — dddœdddœg}t        |«      }|}||k(  sJ ‚y )Nru   rv   )Úflat1Úflat2rw   ry   )Úflat3r>  r   r…   s       r%   Útest_flat_stays_flatz'TestNestedToRecord.test_flat_stays_flatK  s3   € Ø aÑ(°AÀÑ*BÐCˆÜ! $Ó'ˆØˆØ˜Ò!Ð!Ñ!r$   c                 óD   — ddddœdœ}t        |«      }ddddœ}||k(  sJ ‚y )Nru   rv   ©rx   Úd)r=  Údict1)údict1.cúdict1.dr=  r   rÀ   s       r%   Útest_one_level_deep_flattensz/TestNestedToRecord.test_one_level_deep_flattensQ  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 )Nru   rv   rB  )ÚerC  )r=  rD  Únested)rE  rF  r=  znested.dz
nested.e.cz
nested.e.dr   rÀ   s       r%   Útest_nested_flattensz'TestNestedToRecord.test_nested_flattensY  sV   € àØ 1Ñ%Ø"#¨!Ñ,°1Ñ5ñ
ˆô " $Ó'ˆàØØØØØñ
ˆð ˜Ò!Ð!Ñ!r$   c                 ó†   — d}t        j                  t        |¬«      5  t        |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£   rW   r   ÚraiserÓ   ©r¨   r©   ÚKeyErrorr   ©r†   r_   rç   s      r%   Útest_json_normalize_errorsz-TestNestedToRecord.test_json_normalize_errorsl  sE   € ð:ð 	ô �]‰]œ8¨3Ô/ñ 	ÜØ%Ø'ØØõ	÷	÷ 	ñ 	ús	   ž7·A c                 ó¤   — t        |ddd¬«      }g d¢dddd	d
t        j                  gg}g d¢}t        ||¬«      }t	        j
                  ||«       y )NrW   r   rÒ   rÓ   )rM   rN   rO   r;   rP   rL   rY   rZ   r[   r\   r]   )rQ   rR   rS   r6   rT   r   r¦   r  ©r†   r_   rˆ   rÊ   r§   r‰   s         r%   Útest_missing_metaz$TestNestedToRecord.test_missing_meta}  s]   € ô  Ø!¨{ÀÐPXô
ˆò DØ�< °°u¼b¿f¹fÐEð
ˆò GˆÜ˜W¨gÔ6ˆÜ
×Ñ˜f hÕ/r$   c                 óŒ  — dd ddiddigdœ}t        |dddd	ggd
¬«      }ddt        j                  gddt        j                  gg}g d¢}t        ||¬«      j	                  dt
        i«      }t        j                  ||«       t        j                  t        d¬«      5  t        |dddd	ggd¬«       d d d «       y # 1 sw Y   y xY w)NrÜ   r“   ru   rv   )r�   Únested_metar  r  r�   rW  ÚleafrÒ   )r›   r�   rÔ   )r“   r�   únested_meta.leafr¦   rY  z'leaf' not foundr£   rN  )r   r�   r  r   Úastyper%  rƒ   r„   r¨   r©   rP  )r†   rª   rˆ   rÊ   r§   r‰   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ˆÜ˜W¨gÔ6×=Ñ=Ø¤Ð(ó
ˆô 	×Ñ˜f hÔ/ô �]‰]œ8Ð+=Ô>ñ 	ÜØØ#Ø˜}¨fÐ5Ð6Øõ	÷	÷ 	ñ 	ús   ÂB:Â:Cc                 óŠ   — d}t        j                  t        |¬«      5  t        |ddgdd¬«       d d d «       y # 1 sw Y   y xY w)NrM  r£   rX   r   r   rN  rÓ   rO  rQ  s      r%   Ú5test_missing_meta_multilevel_record_path_errors_raisezHTestNestedToRecord.test_missing_meta_multilevel_record_path_errors_raise§  sJ   € ð
:ð 	ô �]‰]œ8¨3Ô/ñ 	ÜØ%Ø2°HÐ=ØØõ	÷	÷ 	ñ 	ús	   ž9¹Ac                 ó    — t        |ddgdd¬«      }ddgdt        j                  gg}d	dg}t        ||¬
«      }t	        j
                  ||«       y )NrX   r   r   rÒ   rÓ   rV   rL   r^   rU   r¦   r  rT  s         r%   Ú6test_missing_meta_multilevel_record_path_errors_ignorezITestNestedToRecord.test_missing_meta_multilevel_record_path_errors_ignore·  sd   € ô  Ø!Ø.°Ð9ØØô	
ˆð ˜gÐ&Øœ2Ÿ6™6Ð"ð
ˆð  Ð'ˆÜ˜W¨gÔ6ˆÜ
×Ñ˜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Ú	AppleseedrE   rH   r>   r?   r@   rC   rD   )r4   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   r6   ç    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 )
Nre  rf  rg  )rh  rð   ri  rj  rk  )r   r6   )r   r   rl  )r   zlocation.idzlocation.country.idrn  ro  rp  rq  rr  r   rÀ   s       r%   Útest_nonetype_multiple_levelsz0TestNestedToRecord.test_nonetype_multiple_levels  sr   € ð ààà"à&*Ø!3Ø!4Ø!3ñ	&ññññ
ˆô$ " $Ó'ˆàØØ#'Ø)-Ø7;Ø2DØ2EØ2Dñ	
ˆð ˜Ò!Ð!Ñ!r$   zmax_level, expectedNrb   rc   rd   re   rl   )úCreatedBy.NameúLookup.TextFieldzLookup.UserField.IdzLookup.UserField.NameúImage.ar   ra   rf   rh   rk   rm   ru   )rv  rw  zLookup.UserFieldrx  c                 ó,   — t        ||¬«      }||k(  sJ ‚y )N©r  r   )r†   r  r‰   rq   Úoutputs        r%   Útest_with_max_levelz&TestNestedToRecord.test_with_max_level%  s    € ôV "Ð";À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   rn   ÚuserÚLeoÚThomson)Ú	firstnameÚLastNameÚfatherÚ	Father001Ú	Father002Ú	Father003ra   Ú	Father004)r   r„  )ra   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.Namerz  r   )r†   r  Ú
input_datar‰   r{  s        r%   Útest_with_large_max_levelz,TestNestedToRecord.test_with_large_max_levelS  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        |«      }g d¢|_        t        |«      }t        g d¢g d¢dt        j
                  t        j
                  gt        j
                  dt        j
                  gt        j
                  t        j
                  dgdœ«      }t        j                  ||«       y )Nru   ÚFoork   )r   r   Úelementsrv   ÚBarrl   rw   ÚBazrx   )r   ru   rv   r–   )r�  r�  r�  g      ð?g       @g      @)r   r   z
elements.az
elements.bz
elements.c)r   r  r   r   r�   r  rƒ   r„   )r†   rª   Úsrˆ   r‰   s        r%   Útest_series_non_zero_indexz-TestNestedToRecord.test_series_non_zero_indexx  s®   € ð  °S¸!°HÑ=Ø °S¸!°HÑ=Ø °S¸!°HÑ=ñ
ˆô
 �4‹LˆÚˆŒÜ Ó"ˆÜâÚ-Ø"¤B§F¡F¬B¯F©FÐ3Ü!Ÿv™v s¬B¯F©FÐ3Ü!Ÿv™v¤r§v¡v¨sÐ3ñó
ˆô 	×Ñ˜f hÕ/r$   )r4  r5  r6  r@  rG  rK  rR  rU  r[  r]  r_  rc  rs  ru  r¨   r7  r8  r|  r‹  r’  r#   r$   r%   r;  r;  J  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0r$   r;  )r÷   Únumpyr�   r¨   Úpandasr   r   r   r   Úpandas._testingÚ_testingrƒ   Úpandas.io.json._normalizer   Úfixturer&   r<   rJ   r_   rq   rs   r;  r#   r$   r%   ú<module>r™     s²   ðÛ ã Û ÷ó õ å 6ð ‡�ñ#ó ð#ðL ‡�ñó ðð0 ‡�ñó ðð ‡�ñó ðð< ‡�ñó ð÷ {0ñ {0÷|A0ò A0r$   