ó
    Vcg25  ã                   óš   • S r SSKrSSKrSSKJr  SSKJr  SSKJrJ	r	   " S S\R                  5      r\S:X  a  \R                  " 5         gg)	zmergedeep test moduleé    N)ÚCounter)Údeepcopy)ÚmergeÚStrategyc                   ól   • \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rSrg)Útest_mergedeepé
   zmergedeep function tests.c                 óp  • SSS.SS0S.SSS	S0S
./ SQS[        SSSS.5      S[        SS05      [        SS05      S.	nSSS00SSS0/ SQS[        SSS.5      SS.n[        U5      nSSS00SS/ SQS[        SSS.5      [        SS05      [        SS05      S.n[        U5      nSSS00SSS	S0S
.S[        SS05      [        SS05      S.n[        U5      n[        0 X$U[        R                  S9nU R                  X�5        U R                  X#5        U R                  XE5        U R                  Xg5        g )Né   é   ©ÚcÚ_cÚCr	   ©ÚbÚBé   é   Úf©é   Úa©é   r   é   ©éd   éÈ   r   ©r   r   r   Úzr   )	r   ÚdÚer   ÚgÚhÚiÚjr!   r   r   ©r   r   r   ©r   r   r   ©r   r   ©r   r"   r#   r   r$   r%   r'   r   ©r   r   )r   r"   r#   r   r$   r%   r&   r!   r   ©r   r"   r#   r&   r'   r!   ©Ústrategy)r   r   r   r   ÚREPLACEÚassertEqual©	ÚselfÚexpectedr   Úa_copyr   Úb_copyr   Úc_copyÚactuals	            Ú:/usr/lib/python3/dist-packages/mergedeep/test_mergedeep.pyÚUtest_should_merge_3_dicts_into_new_dict_using_replace_strategy_and_only_mutate_targetÚdtest_mergedeep.test_should_merge_3_dicts_into_new_dict_using_replace_strategy_and_only_mutate_target   s�  € à bÑ)°°b°	Ñ:ØØ˜c 1˜XÑ&ÚØÜ˜q q¨qÑ1Ó2ØÜ˜#˜q˜Ó"Ü˜#˜q˜Ó"ñ

ˆð ˜˜Q�x�ØØ�Q�ÚØÜ˜q qÑ)Ó*Øñ
ˆô ˜!“ˆð ˜˜R�yÐ!ØØÚØÜ˜q qÑ)Ó*Ü˜#˜q˜Ó"Ü˜#˜q˜Ó"ñ	
ˆô ˜!“ˆð ˜˜b�zÐ"ØØ˜c 1˜XÑ&ØÜ˜#˜q˜Ó"Ü˜#˜q˜Ó"ñ
ˆô ˜!“ˆä�r˜1 ¬X×-=Ñ-=Ñ>ˆà×Ñ˜Ô*Ø×Ñ˜Ô#Ø×Ñ˜Ô#Ø×Ñ˜Õ#ó    c                 óH  • SSS.SS0S.SSS	S0S
./ SQS[        SSSS.5      S[        SS05      S.nSSS00SSS0/ SQS[        SSS.5      SS.n[        U5      nSSS00SS/ SQS[        SSS.5      [        SS05      S.n[        U5      nSSS00SSS	S0S
.S[        SS05      S.n[        U5      n[        X$U[        R                  S9nU R                  X�5        U R                  X‚5        U R                  X#5        U R                  XE5        U R                  Xg5        g )Nr   r   r   r   r	   r   r   r   r   r   r   r   r   r    r!   )r   r"   r#   r   r$   r%   r&   r'   r   r   r(   r)   r*   r+   r   r,   r   )r   r"   r#   r   r$   r%   r&   r   )r   r"   r#   r&   r'   r.   )r   r   r   r   r0   r1   ÚassertNotEqualr2   s	            r9   ÚZtest_should_merge_2_dicts_into_existing_dict_using_replace_strategy_and_only_mutate_targetÚitest_mergedeep.test_should_merge_2_dicts_into_existing_dict_using_replace_strategy_and_only_mutate_targetF   sc  € à bÑ)°°b°	Ñ:ØØ˜c 1˜XÑ&ÚØÜ˜q q¨qÑ1Ó2ØÜ˜#˜q˜Ó"ñ	
ˆð ˜˜Q�x�ØØ�Q�ÚØÜ˜q qÑ)Ó*Øñ
ˆô ˜!“ˆð ˜˜R�yÐ!ØØÚØÜ˜q qÑ)Ó*Ü˜#˜q˜Ó"ñ
ˆô ˜!“ˆà˜˜r˜
Ð#¨!°a¸sÀA¸hÑ2GÈaÔV]Ð_bÐdeÐ^fÓVgÑhˆÜ˜!“ˆä�q˜Q¬×)9Ñ)9Ñ:ˆà×Ñ˜Ô*Ø×Ñ˜Ô#Ø×Ñ˜AÔ&Ø×Ñ˜Ô#Ø×Ñ˜Õ#r<   c                 ó®   • [         R                  " [        5      n[        R                  nU R                  UR                  R                  S5      U5        g )Nr/   )ÚinspectÚgetfullargspecr   r   r0   r1   ÚkwonlydefaultsÚget)r3   Ú	func_specÚdefault_strategys      r9   Ú,test_should_have_default_strategy_of_replaceÚ;test_mergedeep.test_should_have_default_strategy_of_replaces   s@   € Ü×*Ò*¬5Ó1ˆ	Ü#×+Ñ+Ðà×Ñ˜×1Ñ1×5Ñ5°jÓAÐCSÕTr<   c                 ó„  • SSS.SS0S.SSS	S0S
./ SQS.nSSS00SSS0/ SQS.n[        U5      nSSS00SS/ SQS.n[        U5      nSSS00SSS	S0S
.S.n[        U5      n[        0 X$U[        R                  S9nU R	                  X�5        U R	                  X#5        U R	                  XE5        U R	                  Xg5        g ©Nr   r   r   r   r	   r   r   r   r   r   ©r   r   r   r   r   r   ©r   r"   r#   r   r   r   r   r(   r   r   r   ©r   r"   r#   r.   ©r   r   r   ÚADDITIVEr1   r2   s	            r9   Ú_test_should_merge_3_dicts_into_new_dict_using_additive_strategy_on_lists_and_only_mutate_targetÚntest_mergedeep.test_should_merge_3_dicts_into_new_dict_using_additive_strategy_on_lists_and_only_mutate_target   óæ   € à bÑ)°°b°	Ñ:ØØ˜c 1˜XÑ&Ú#ñ	
ˆð ˜˜a˜�/¨°°A°ºYÑGˆÜ˜!“ˆà˜˜b˜	Ð"¨°ºÑCˆÜ˜!“ˆà˜˜r˜
Ð#¨!°a¸sÀA¸hÑ2GÑHˆÜ˜!“ˆä�r˜1 ¬X×->Ñ->Ñ?ˆà×Ñ˜Ô*Ø×Ñ˜Ô#Ø×Ñ˜Ô#Ø×Ñ˜Õ#r<   c                 ó„  • SSS.SS0S.SSS	S0S
.1 SkS.nSSS00SSS01 SkS.n[        U5      nSSS00SS1 SkS.n[        U5      nSSS00SSS	S0S
.S.n[        U5      n[        0 X$U[        R                  S9nU R	                  X�5        U R	                  X#5        U R	                  XE5        U R	                  Xg5        g )Nr   r   r   r   r	   r   r   r   r   r   >   r   r   r   r   r   r   rM   r   r   r   ¾   r   r   r   r   >   r   r   r   r   rN   r.   rO   r2   s	            r9   Ú^test_should_merge_3_dicts_into_new_dict_using_additive_strategy_on_sets_and_only_mutate_targetÚmtest_mergedeep.test_should_merge_3_dicts_into_new_dict_using_additive_strategy_on_sets_and_only_mutate_target—   rS   r<   c                 óx  • SSS.SS0S.SSS	S0S
.SS.nSSS00SSS0SS.n[        U5      nSSS00SSSS.n[        U5      nSSS00SSS	S0S
.S.n[        U5      n[        0 X$U[        R                  S9nU R	                  X�5        U R	                  X#5        U R	                  XE5        U R	                  Xg5        g rK   rO   r2   s	            r9   Ú`test_should_merge_3_dicts_into_new_dict_using_additive_strategy_on_tuples_and_only_mutate_targetÚotest_mergedeep.test_should_merge_3_dicts_into_new_dict_using_additive_strategy_on_tuples_and_only_mutate_target¯   sæ   € à bÑ)°°b°	Ñ:ØØ˜c 1˜XÑ&Ø#ñ	
ˆð ˜˜a˜�/¨°°A°¸YÑGˆÜ˜!“ˆà˜˜b˜	Ð"¨°¸ÑCˆÜ˜!“ˆà˜˜r˜
Ð#¨!°a¸sÀA¸hÑ2GÑHˆÜ˜!“ˆä�r˜1 ¬X×->Ñ->Ñ?ˆà×Ñ˜Ô*Ø×Ñ˜Ô#Ø×Ñ˜Ô#Ø×Ñ˜Õ#r<   c           
      óv  • SSS.SS0S.SSS	S0S
.[        SSSS.5      S[        SS05      [        SS05      S.nSSS00SSS0[        SSS.5      [        S	S05      [        SSS.5      S.n[        U5      nSSS00SS[        SSS.5      / SQ[        SS05      S.n[        U5      nSSS00SSS	S0S
.S[        SS05      [        SS05      S.n[        U5      n[        0 X$U[        R                  S9nU R                  X�5        U R                  X#5        U R                  XE5        U R                  Xg5        g )Nr   r   r   r   r	   r   r   r   r   r   r   )r   r   r   r!   r   r   )r   r"   r#   r   r&   r'   r!   r   r   r,   é	   )r   r!   )r   r"   r#   r   r&   r'   r   r*   r(   )r   r"   r#   r   r'   r!   r   r-   r.   )r   r   r   r   rP   r1   r2   s	            r9   Úbtest_should_merge_3_dicts_into_new_dict_using_additive_strategy_on_counters_and_only_mutate_targetÚqtest_mergedeep.test_should_merge_3_dicts_into_new_dict_using_additive_strategy_on_counters_and_only_mutate_targetÇ   s|  € à bÑ)°°b°	Ñ:ØØ˜c 1˜XÑ&Ü˜q q¨qÑ1Ó2ØÜ˜#˜q˜Ó"Ü˜#˜q˜Ó"ñ
ˆð ˜˜Q�x�ØØ�Q�Ü˜q qÑ)Ó*Ü˜#˜q˜Ó"Ü˜q qÑ)Ó*ñ
ˆô ˜!“ˆð ˜˜R�yÐ!ØØÜ˜q qÑ)Ó*ÚÜ˜#˜q˜Ó"ñ
ˆô ˜!“ˆð ˜˜b�zÐ"ØØ˜c 1˜XÑ&ØÜ˜#˜q˜Ó"Ü˜#˜q˜Ó"ñ
ˆô ˜!“ˆä�r˜1 ¬X×->Ñ->Ñ?ˆà×Ñ˜Ô*Ø×Ñ˜Ô#Ø×Ñ˜Ô#Ø×Ñ˜Õ#r<   c                 ó~  • SnSnSU0nSU0n[        X4/5      [        X445      S.nU/U4S.nU/U4S.n[        0 Xg[        R                  S9nX#S'   X$S'   U R	                  X…5        U R	                  US   S   S   U5        U R	                  US   S   S   U5        U R	                  US	   S   S   U5        U R	                  US	   S   S   U5        U R	                  US   S   S   U5        U R	                  US   S   S   U5        U R	                  US	   S   S   U5        U R	                  US	   S   S   U5        g )
Nr   éc   Úkey1Úkey2)ÚlistÚtupler.   rc   r   rd   rO   )	r3   ÚbeforeÚafterÚo1Úo2r4   r   r   r8   s	            r9   Útest_should_not_copy_referencesÚ.test_mergedeep.test_should_not_copy_references÷   st  € ØˆØˆà�fÐˆØ�fÐˆä$ b XÓ.¼À2À(Ó9KÑLˆà�T R EÑ*ˆØ�T R EÑ*ˆä�r˜1¬(×*;Ñ*;Ñ<ˆàˆ6‰
Øˆ6‰
à×Ñ˜Ô*ð 	×Ñ˜ ™¨Ñ*¨6Ñ2°FÔ;Ø×Ñ˜ ™¨Ñ*¨6Ñ2°FÔ;Ø×Ñ˜ ™¨Ñ+¨FÑ3°VÔ<Ø×Ñ˜ ™¨Ñ+¨FÑ3°VÔ<ð 	×Ñ˜˜6™ 1™ fÑ-¨uÔ5Ø×Ñ˜˜6™ 1™ fÑ-¨uÔ5Ø×Ñ˜˜7™ A™ vÑ.°Ô6Ø×Ñ˜˜7™ A™ vÑ.°Õ6r<   c           	      óì   • SSS00SSS0/ SQS.nS	S
S00SS/ SQS.nSSS00SSSS0S.S.nU R                  [        5         [        0 XU[        R                  S9  S S S 5        g ! , (       d  f       g = f©Nr   r   r   r   r   r   r(   rM   r   r   r	   r   r   r   r   r   rN   r.   )ÚassertRaisesÚ	TypeErrorr   r   ÚTYPESAFE©r3   r   r   r   s       r9   ÚCtest_should_raise_TypeError_using_typesafe_strategy_if_types_differÚRtest_mergedeep.test_should_raise_TypeError_using_typesafe_strategy_if_types_differ  s   € Ø˜˜a˜�/¨°°A°ºYÑGˆØ˜˜b˜	Ð"¨°ºÑCˆØ˜˜r˜
Ð#¨!°a¸sÀA¸hÑ2GÑHˆà×ÑœyÕ)Ü�"�a˜A¬×(9Ñ(9Ò:÷ *×)Ö)úó   ÁA%Á%
A3c           	      óì   • SSS00SSS0/ SQS.nS	S
S00SS/ SQS.nSSS00SSSS0S.S.nU R                  [        5         [        0 XU[        R                  S9  S S S 5        g ! , (       d  f       g = frl   )rm   rn   r   r   ÚTYPESAFE_REPLACErp   s       r9   ÚKtest_should_raise_TypeError_using_typesafe_replace_strategy_if_types_differÚZtest_mergedeep.test_should_raise_TypeError_using_typesafe_replace_strategy_if_types_differ#  s   € Ø˜˜a˜�/¨°°A°ºYÑGˆØ˜˜b˜	Ð"¨°ºÑCˆØ˜˜r˜
Ð#¨!°a¸sÀA¸hÑ2GÑHˆà×ÑœyÕ)Ü�"�a˜A¬×(AÑ(AÒB÷ *×)Ö)úrs   c                 óÌ  • SSS.SS0S.S/ SQ1 S	kS
[        SSSS.5      S.nSSS00S/ SQ1 Sk[        SSS.5      S.n[        U5      nSSS00S/ SQ1 S	kSS.n[        U5      nSSS00SS
[        SSS.5      S.n[        U5      n[        0 X$U[        R                  S9nU R                  X�5        U R                  X#5        U R                  XE5        U R                  Xg5        g ©Nr   r   r   r   r	   r   r   r   ¾   r   r   r   ©r   r   r   r    ©r   r"   r   r$   r%   r!   r   r   r(   rU   r*   ©r   r"   r   r$   r!   r   r   ©r   ©r   r"   r   r$   r%   r   r,   ©r   r"   r%   r!   r.   )r   r   r   r   ro   r1   r2   s	            r9   Úntest_should_merge_3_dicts_into_new_dict_using_typesafe_strategy_and_only_mutate_target_if_types_are_compatibleÚ}test_mergedeep.test_should_merge_3_dicts_into_new_dict_using_typesafe_strategy_and_only_mutate_target_if_types_are_compatible+  s  € ð  bÑ)°°b°	Ñ:ØÚÚØÜ˜q q¨qÑ1Ó2ñ
ˆð ˜˜a˜�/¨²	Â	ÔPWÐ^_ÐfgÑXhÓPiÑjˆÜ˜!“ˆà˜˜b˜	Ð"¨²ÂÐQUÑVˆÜ˜!“ˆà˜˜r˜
Ð#¨!°&¼wÈQÐUVÑGWÓ?XÑYˆÜ˜!“ˆä�r˜1 ¬X×->Ñ->Ñ?ˆà×Ñ˜Ô*Ø×Ñ˜Ô#Ø×Ñ˜Ô#Ø×Ñ˜Õ#r<   c                 óÌ  • SSS.SS0S.S/ SQ1 S	kS
[        SSSS.5      S.nSSS00S/ SQ1 Sk[        SSS.5      S.n[        U5      nSSS00S/ SQ1 S	kSS.n[        U5      nSSS00SS
[        SSS.5      S.n[        U5      n[        0 X$U[        R                  S9nU R                  X�5        U R                  X#5        U R                  XE5        U R                  Xg5        g ry   )r   r   r   r   ru   r1   r2   s	            r9   Úvtest_should_merge_3_dicts_into_new_dict_using_typesafe_replace_strategy_and_only_mutate_target_if_types_are_compatibleÚ…test_mergedeep.test_should_merge_3_dicts_into_new_dict_using_typesafe_replace_strategy_and_only_mutate_target_if_types_are_compatibleG  s  € ð  bÑ)°°b°	Ñ:ØÚÚØÜ˜q q¨qÑ1Ó2ñ
ˆð ˜˜a˜�/¨²	Â	ÔPWÐ^_ÐfgÑXhÓPiÑjˆÜ˜!“ˆà˜˜b˜	Ð"¨²ÂÐQUÑVˆÜ˜!“ˆà˜˜r˜
Ð#¨!°&¼wÈQÐUVÑGWÓ?XÑYˆÜ˜!“ˆä�r˜1 ¬X×-FÑ-FÑGˆà×Ñ˜Ô*Ø×Ñ˜Ô#Ø×Ñ˜Ô#Ø×Ñ˜Õ#r<   c           	      óì   • SSS00SSS0/ SQS.nS	S
S00SS/ SQS.nSSS00SSSS0S.S.nU R                  [        5         [        0 XU[        R                  S9  S S S 5        g ! , (       d  f       g = frl   )rm   rn   r   r   ÚTYPESAFE_ADDITIVErp   s       r9   ÚLtest_should_raise_TypeError_using_typesafe_additive_strategy_if_types_differÚ[test_mergedeep.test_should_raise_TypeError_using_typesafe_additive_strategy_if_types_differg  s   € Ø˜˜a˜�/¨°°A°ºYÑGˆØ˜˜b˜	Ð"¨°ºÑCˆØ˜˜r˜
Ð#¨!°a¸sÀA¸hÑ2GÑHˆà×ÑœyÕ)Ü�"�a˜A¬×(BÑ(BÒC÷ *×)Ö)úrs   c                 óÌ  • SSS.SS0S.S/ SQ1 S	kS
[        SSSS.5      S.nSSS00S/ SQ1 Sk[        SSS.5      S.n[        U5      nSSS00S/ SQ1 SkSS.n[        U5      nSSS00SS[        SSS.5      S.n[        U5      n[        0 X$U[        R                  S9nU R                  X�5        U R                  X#5        U R                  XE5        U R                  Xg5        g )Nr   r   r   r   r	   r   r   rL   >   r   r   r   r   )r   r   r   r   r   r    r|   r   r   r(   rU   r*   r}   r   r   rz   r~   r   r   r{   r,   r€   r.   )r   r   r   r   r‡   r1   r2   s	            r9   Úwtest_should_merge_3_dicts_into_new_dict_using_typesafe_additive_strategy_and_only_mutate_target_if_types_are_compatibleÚ†test_mergedeep.test_should_merge_3_dicts_into_new_dict_using_typesafe_additive_strategy_and_only_mutate_target_if_types_are_compatibleo  s  € ð  bÑ)°°b°	Ñ:ØÚ#ÚØÜ˜q q¨qÑ1Ó2ñ
ˆð ˜˜a˜�/¨²	Â	ÔPWÐ^_ÐfgÑXhÓPiÑjˆÜ˜!“ˆà˜˜b˜	Ð"¨²ÂÐQUÑVˆÜ˜!“ˆà˜˜r˜
Ð#¨!°&¼wÈQÐUVÑGWÓ?XÑYˆÜ˜!“ˆä�r˜1 ¬X×-GÑ-GÑHˆà×Ñ˜Ô*Ø×Ñ˜Ô#Ø×Ñ˜Ô#Ø×Ñ˜Õ#r<   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r:   r?   rH   rQ   rV   rY   r]   ri   rq   rv   r�   r„   rˆ   r‹   Ú__static_attributes__r�   r<   r9   r   r   
   sS   † Ù#ò3$òj+$òZUò$ò0$ò0$ò0.$ò`7òH;òCò$ò8$ò@Dõ$r<   r   Ú__main__)r’   rB   ÚunittestÚcollectionsr   Úcopyr   Ú	mergedeepr   r   ÚTestCaser   rŽ   Úmainr�   r<   r9   Ú<module>r›      sD   ðÙ Û Û Ý Ý ç %ô$�X×&Ñ&ô $ðD ˆzÓØ‡M‚M…Oð r<   