Ë
    AúYj5  ã                   óà   — 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 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#   ó    ún/var/www/ramen.bs-engineer-server.com/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                  ó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)rI   rJ   r#   r#   r$   r%   Úmissing_metadatarQ   Q   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        |«      }t        |«      }t        j                  ||«       y )Né   é   é   )ÚaÚbÚcé   é   é   é   é   é	   é
   é   é   ©r   r   ÚtmÚassert_frame_equal©ÚselfÚrecsÚresultÚexpecteds       r%   Útest_simple_recordsz%TestJSONNormalize.test_simple_recordsq   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   re   rf   ÚextendÚnpÚarrayÚrepeat©rh   r<   rj   rk   Ú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Úmetadatarz   r{   ©Úrecord_pathro   )r   zmetadata.listdatard   )rh   Úparse_metadata_fields_list_typerj   rk   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 )Nrd   ©rh   rj   rk   s      r%   Útest_empty_arrayz"TestJSONNormalize.test_empty_arrayŸ   s#   € Ü Ó#ˆÜ“;ˆÜ
×Ñ˜f hÕ/r$   z!data, record_path, exception_typerX   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)Nz^$©Úmatch©r}   r   rU   rX   ©Úcolumns)ÚpytestÚraisesr   r   re   rf   )rh   Údatar}   Úexception_typerj   rk   s         r%   Útest_accepted_inputz%TestJSONNormalize.test_accepted_input¤   sl   € ð Ð%Ü—‘˜~°TÔ:ñ >Ü˜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   )ro   r“   )r   r   r   Ústates_name)	r   r   re   rf   Úreindex_liker   Úsort_valuesrˆ   Úequals)rh   r&   rj   rk   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   r[   )Úb_1Úb_2)rX   rY   Ú__r’   )rX   Úb__b_1Úb__b_2r‡   rd   ©rh   r‹   rj   rk   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‡   rd   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‡   rd   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   rn   r
   r[   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ˆ   re   rf   )rh   r&   rj   Úex_datark   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«   )rh   r‹   rj   r¬   rk   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}   ro   Úerrorsr¯   r°   r2   rW   r   rV   r1   r;   r0   r:   )r   r*   r6   r5   r±   rd   )rh   r<   rj   r¬   rk   s        r%   Ú-test_nested_meta_path_with_nested_record_pathz?TestJSONNormalize.test_nested_meta_path_with_nested_record_path0  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¿   rn   ro   ©ro   Úmeta_prefix©ÚmetafooÚmetabarr¾   r¿   )r‰   rŠ   Ú
ValueErrorr   )rh   r‹   Úmsgrj   Úvals        r%   Útest_meta_name_conflictz)TestJSONNormalize.test_meta_name_conflictD  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‹   ro   rÃ   rÅ   )r   )rh   r‹   ÚCOLUMNSrj   rÊ   s        r%   Ú test_meta_parameter_not_modifiedz2TestJSONNormalize.test_meta_parameter_not_modifiedY  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_)ro   r¥   c                 ó   — d| z   S )NrÐ   r#   )Úxs    r%   ú<lambda>z6TestJSONNormalize.test_record_prefix.<locals>.<lambda>z  s
   € °YÀ±]€ r$   r‡   r2   r   rW   rV   )	r   r   re   rf   rp   Úrenamerq   rr   rs   rt   s        r%   Útest_record_prefixz$TestJSONNormalize.test_record_prefixm  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                 óÎ   — t        t        d«      D �cg c]  }|› ddœ‘Œ
 c}«      }t        |d¬«      }t        dddœdddœd	ddœg«      }t	        j
                  ||«       y c c}w )
NrW   Úq)ÚkÚmzT.r¤   Ú0)zT.kzT.mÚ1Ú2)r   Úranger   r   re   rf   )rh   ÚiÚsrj   rk   s        r%   Ú(test_record_prefix_no_record_path_seriesz:TestJSONNormalize.test_record_prefix_no_record_path_series  sl   € ä´U¸1³XÖ>°˜Q˜C sÓ+Ò>Ó?ˆÜ °Ô6ˆÜà CÑ(Ø CÑ(Ø CÑ(ðó
ˆô 	×Ñ˜f hÕ/ùò ?s   “A"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   r[   )Údecoder   r   ÚjsonÚloadsre   rf   )rh   ÚtestjsonÚtestdatark   rj   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                 ó&  — dd idddœdddœdœg}t        |«      }t        j                  t        j                  t        j                  t        j                  t        j                  d	œd ddddd	œg}t        |«      }t	        j
                  ||«       y )
Nr4   ú
11/08/1993ú
26/05/2012©Ú
created_atÚlast_updatedÚJaneÚDoe©ÚfirstÚ	last_name©r4   Úauthor_name)r4   úinfo.created_atúinfo.last_updatedúauthor_name.firstúauthor_name.last_name©r   rq   Únanr   re   rf   )rh   Úauthor_missing_datarj   r¬   rk   s        r%   Útest_missing_fieldz$TestJSONNormalize.test_missing_fieldœ  s˜   € ð �TˆNà'3À\ÑRØ)/¸eÑDñð
Ðô  Ð 3Ó4ˆô Ÿ™Ü#%§6¡6Ü%'§V¡VÜ%'§V¡VÜ)+¯©ñð Ø#/Ø%1Ø%+Ø).ñð
ˆô  ˜WÓ%ˆÜ
×Ñ˜f hÕ/r$   zmax_level,expectedú	Some textÚID001ÚName001©ÚIdÚNamer  ÚUser001rY   )Ú	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        |dgdgdgg|¬«      }t        ||j                  j                  ¬«      }t	        j
                  ||«       y )Nr  r  rþ   rÿ   r   r  ©r  r  rX   rY   r»   r¼   r½   rÀ   rÁ   )r  ÚLookupr  Útagsr  r  r  )r}   ro   Ú	max_level)r‹   rˆ   )r   r   rˆ   rz   re   Úassert_equal)rh   r  rk   Ú
test_inputrj   Ú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$   r  c                 ó:  — t         j                  ddiddig}t        ||¬«      }t        dt         j                  ddgi«      }t	        j
                  ||«       d}t        j                  t        |¬«      5  t        dddig|¬«       d d d «       y # 1 sw Y   y xY w)NÚidrc   é   ©r  z>All items in data must be of type dict or NA-like, found floatr„   ç      ð?)	rq   rû   r   r   re   rf   r‰   rŠ   Ú	TypeError)rh   r  Ú	data_listrj   rk   rÉ   s         r%   Ú"test_json_normalize_non_dict_itemsz4TestJSONNormalize.test_json_normalize_non_dict_items  s‘   € ô —V‘V˜d B˜Z¨$°¨Ð4ˆ	ä 	°YÔ?ˆÜ˜d¤R§V¡V¨R°Ð$4Ð5Ó6ˆÜ
×Ñ˜f hÔ/àNˆÜ�]‰]œ9¨CÔ0ñ 	CÜ˜C $¨ Ð,¸	ÕB÷	C÷ 	Cñ 	Cús   Á6BÂB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   re   rf   )rh   Ú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t        d«      ¬	«      }t        j                  ||«       y )
NÚTexasr¨   r2   rÞ   rV   r4   r†   rU   ©Úindex)r   r   rÝ   re   r  )rh   Únulls_fixturerj   rk   s       r%   Útest_nonetype_record_pathz+TestJSONNormalize.test_nonetype_record_path  sT   € ô  à!¨=Ñ9Ø#¨s°A¨h¨ZÑ8ðð  ˜ô
ˆô ˜c 1˜X¬U°1«XÔ6ˆÜ
�‰˜ Õ)r$   Úvalue)ÚfalseÚtruez{}rÛ   z"text"c                 óì   — t        j                  |«      }d|dœ}d}dt        |«      j                  › d�}t	        j
                  t        |¬«      5  t        |g|g¬«       d d d «       y # 1 sw Y   y xY w)Nr   r¨   r4   z(Path must contain list or null, but got z
 at 'info'r„   r†   )rä   rå   ÚtypeÚ__name__r‰   rŠ   r  r   )rh   r%  Úparsed_valuer  Ú	test_pathrÉ   s         r%   Ú test_non_list_record_path_errorsz2TestJSONNormalize.test_non_list_record_path_errors$  sz   € ô —z‘z %Ó(ˆØ&°Ñ=ˆ
Øˆ	ðÜ˜LÓ)×2Ñ2Ð3°:ð?ð 	ô �]‰]œ9¨CÔ0ñ 	BÜ˜J˜<°i°[ÕA÷	B÷ 	Bñ 	Bús   ÁA*Á*A3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‹   r  r|   rU   rV   éc   )Údtype)ÚoneÚtwor  )	r   rä   rå   r   rq   rr   Úobjectre   rf   r¡   s       r%   Útest_meta_non_iterablez(TestJSONNormalize.test_meta_non_iterable1  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_data>  s   øè ø€ Ø! !‘} ZÑ0×0Ò0ús   ƒ��r   r3   rd   )rh   r<   r7  rj   rk   s    `   r%   Útest_generatorz TestJSONNormalize.test_generator;  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 )Nra   Úl3r   )Úa1Úl2r[   )Ú_idÚggr‘   r’   )r[   ra   r   )r>  Ú_id_a1Ú	_id_l2_l3r‡   rd   r¡   s       r%   Ú'test_top_column_with_leading_underscorez9TestJSONNormalize.test_top_column_with_leading_underscoreF  s@   € à ¨¨q¨	Ñ2¸!Ñ<ˆÜ ¨#Ô.ˆÜšj˜\Ò3PÔQˆä
×Ñ˜f hÕ/r$   c                 ó  — t        ddg«      }t        ||¬«      }t        |«      }t        j                  |j
                  |«       t        |d«      }t        j                  |j
                  |j                  ddg«      «       y )Nr^   r_   r!  r3   rW   rV   )r   r   r   re   Úassert_index_equalr"  rs   )rh   r<   ÚidxÚseriesrj   s        r%   Útest_series_indexz#TestJSONNormalize.test_series_indexN  sf   € Ü�Q˜�F‹mˆÜ˜
¨#Ô.ˆÜ Ó'ˆÜ
×Ñ˜fŸl™l¨CÔ0Ü ¨
Ó3ˆÜ
×Ñ˜fŸl™l¨C¯J©J¸¸1°vÓ,>Õ?r$   )"r*  Ú
__module__Ú__qualname__rl   rv   r   r‚   r‰   ÚmarkÚparametrizeÚNotImplementedErrorr�   rš   r¢   r¦   r©   r­   r²   r·   rË   rÎ   rÕ   rà   rè   rý   r  r  r  r$  r-  r4  r8  rA  rF  r#   r$   r%   rS   rS   p   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ñ
Có 5ð
Cò(ò*ð ‡[�[×Ñ˜WÒ&LÓMñ
Bó Nð
Bò0ò	0ò0ó@r$   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d„ Zy) ÚTestNestedToRecordc                 ó@   — dddœdddœg}t        |«      }|}||k(  sJ ‚y )NrU   rV   )Úflat1Úflat2rW   r[   )Úflat3rP  r   rg   s       r%   Útest_flat_stays_flatz'TestNestedToRecord.test_flat_stays_flatX  s3   € Ø aÑ(°AÀÑ*BÐCˆÜ! $Ó'ˆØˆØ˜Ò!Ð!Ñ!r$   c                 óD   — ddddœdœ}t        |«      }ddddœ}||k(  sJ ‚y )NrU   rV   ©rZ   Úd)rO  Údict1)údict1.cúdict1.drO  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 )NrU   rV   rT  )ÚerU  )rO  rV  Únested)rW  rX  rO  znested.dz
nested.e.cz
nested.e.dr   r¡   s       r%   Útest_nested_flattensz'TestNestedToRecord.test_nested_flattensf  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„   rI   r   Úraiserµ   ©r‰   rŠ   ÚKeyErrorr   ©rh   rQ   rÉ   s      r%   Útest_json_normalize_errorsz-TestNestedToRecord.test_json_normalize_errorsy  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 )NrI   r   r´   rµ   )r?   r@   rA   r;   rB   r>   rK   rL   rM   rN   rO   )rC   rD   rE   r6   rF   r   r‡   rú   ©rh   rQ   rj   r¬   rˆ   rk   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¾   ru   rU   rV   )ro   Únested_metar%  r%  ro   ri  Úleafr´   )r}   ro   r¶   )ru   ro   únested_meta.leafr‡   rk  z'leaf' not foundr„   r`  )r   rq   rû   r   Úastyper3  re   rf   r‰   rŠ   rb  )rh   r‹   rj   r¬   rˆ   rk   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)Nr_  r„   rJ   r   r   r`  rµ   ra  rc  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 )NrJ   r   r   r´   rµ   rH   r>   rP   rG   r‡   rú   rf  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Ú	Appleseedrñ   rô   rê   rë   rì   rï   rð   )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 )
Nrw  rx  ry  )rz  rÒ   r{  r|  r}  )r  r6   )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   rY   )úCreatedBy.NameúLookup.TextFieldzLookup.UserField.IdzLookup.UserField.NameúImage.ar   r  r  r
  rX   ©r  r  r  rU   )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
  rX   rY   r‹  r  r   )rh   r  rk   Úmax_level_test_input_dataÚoutputs        r%   Útest_with_max_levelz&TestNestedToRecord.test_with_max_level2  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   )rh   r  Ú
input_datark   rŽ  s        r%   Útest_with_large_max_levelz,TestNestedToRecord.test_with_large_max_levelj  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œg d¢¬«      }t        j                  ||«       y )NrU   ÚFoorX   )r  r   ÚelementsrV   ÚBarrY   rW   ÚBazrZ   )r   rU   rV   rx   )r   r¢  r£  r  g       @g      @)r  r   z
elements.az
elements.bz
elements.cr!  )r   r"  r   r   rq   rû   re   rf   )rh   r‹   rß   rj   rk   s        r%   Útest_series_non_zero_indexz-TestNestedToRecord.test_series_non_zero_index�  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$   c                 ó  — ddddigdœg}t        j                  t        d¬«      5  t        |dg¬	«       d d d «       t        j                  t        d¬«      5  t        |d
gdg¬«       d d d «       y # 1 sw Y   Œ>xY w# 1 sw Y   y xY w)NrU   Ú
meta_valuerY   rV   )rX   rc   r\  zmust be stringsr„   rc   rn   r\  r|   )r‰   rŠ   r  r   )rh   r‹   s     r%   Ú*test_json_normalize_meta_string_validationz=TestNestedToRecord.test_json_normalize_meta_string_validation¥  s‰   € à˜\°s¸A°h°ZÑ@ÐAˆô �]‰]œ9Ð,=Ô>ñ 	,Ü˜4 r dÕ+÷	,ô �]‰]œ9Ð,=Ô>ñ 	DÜ˜4¨h¨Z¸r¸dÕC÷	Dð 	D÷	,ð 	,ú÷	Dð 	Dús   ¦A2ÁA>Á2A;Á>B)r*  rG  rH  rR  rY  r]  rd  rg  rm  ro  rq  ru  r…  r‡  r‰   rI  rJ  r�  rž  r¤  r§  r#   r$   r%   rM  rM  W  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ó,	Dr$   rM  )rä   Únumpyrq   r‰   Úpandasr   r   r   r   Úpandas._testingÚ_testingre   Úpandas.io.json._normalizer   Úfixturer&   r<   rQ   rS   rM  r#   r$   r%   ú<module>r®     s†   ðÛ ã Û ÷ó õ å 6ð ‡�ñ#ó ð#ðL ‡�ñó ðð0 ‡�ñó ð÷<d@ñ d@÷NWDò WDr$   