Ë
    pPêj 6  ã                  óö   — d Z ddlmZ ddlmZ ddlmZmZ ddlm	Z	 ddl
mZmZmZmZmZmZmZ ddlmZmZ ddlmZ dd	lmZmZmZmZ  G d
„ de«      Z	 	 	 	 dd„Z	 	 	 	 dd„Z G d„ de«      Z G d„ de«      Z y)z/Test cases for type inference helper functions.é    )Úannotations)Úmap_actuals_to_formals)ÚDisjointDictÚgroup_comparison_operands)ÚKey)Ú	ARG_NAMEDÚARG_OPTÚARG_POSÚARG_STARÚ	ARG_STAR2ÚArgKindÚNameExpr)ÚSuiteÚassert_equal)ÚTypeFixture)ÚAnyTypeÚ	TupleTypeÚTypeÚ	TypeOfAnyc                  óÄ   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
dd	„Zdd
„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	 	 	 	 	 	 	 	 dd„Z	 	 	 	 	 	 	 	 	 	 dd„Zy)ÚMapActualsToFormalsSuitez-Test cases for argmap.map_actuals_to_formals.c                ó*   — | j                  g g g «       y ©N)Ú
assert_map©Úselfs    úX/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy/test/testinfer.pyÚ
test_basicz#MapActualsToFormalsSuite.test_basic   s   € Ø�‰˜˜B Õ#ó    c                ó˜   — | j                  t        gt        gdgg«       | j                  t        t        gt        t        gdgdgg«       y ©Nr   é   ©r   r
   r   s    r   Útest_positional_onlyz-MapActualsToFormalsSuite.test_positional_only   s<   € Ø�‰œ˜	¤G 9°¨s¨eÔ4Ø�‰œ¤'Ð*¬W´gÐ,>À!ÀÀqÀcÀ
ÕKr   c                ó¾   — | j                  g t        gg g«       | j                  t        gt        gdgg«       | j                  t        gt        t        gdgg g«       y ©Nr   )r   r	   r
   r   s    r   Útest_optionalz&MapActualsToFormalsSuite.test_optional   sK   € Ø�‰˜œW˜I¨ tÔ,Ø�‰œ˜	¤G 9°¨s¨eÔ4Ø�‰œ˜	¤G¬WÐ#5¸¸¸R°yÕAr   c                ó¾   — | j                  g t        gg g«       | j                  t        gt        gdgg«       | j                  t        t        gt        gddgg«       y r!   )r   r   r
   r   s    r   Útest_callee_starz)MapActualsToFormalsSuite.test_callee_star   sK   € Ø�‰˜œX˜J¨¨Ô-Ø�‰œ˜	¤H :°°¨uÔ5Ø�‰œ¤'Ð*¬X¨J¸!¸Q¸¸ÕAr   c                ó$  — | j                  t        gt        gdgg«       | j                  t        t        gt        gddgg«       | j                  t        gt        t        gdgdgg«       | j                  t        gt        t        gdgdgg«       y r!   )r   r   r
   r	   r   s    r   Útest_caller_starz)MapActualsToFormalsSuite.test_caller_star"   su   € Ø�‰œ˜
¤X J°!°°Ô6Ø�‰œ¤(Ð+¬h¨Z¸1¸a¸&¸ÔBØ�‰œ˜
¤W¬hÐ$7¸1¸#À¸s¸ÔDØ�‰œ˜
¤W¬hÐ$7¸1¸#À¸s¸ÕDr   c                ó¢   — | j                  t        gg g «       | j                  t        gg g «       | j                  t        gt        gdgg«       y r&   )r   r
   r   r   s    r   Útest_too_many_caller_argsz2MapActualsToFormalsSuite.test_too_many_caller_args(   s>   € Ø�‰œ˜	 2 rÔ*Ø�‰œ˜
 B¨Ô+Ø�‰œ˜
¤W I°°¨uÕ5r   c           	     ó|  — t        t        j                  «      }| j                  t        gt
        gdgg| j                  |«      «       | j                  t        gt
        t
        gdgdgg| j                  ||«      «       | j                  t        gt
        t        t        gdgdgg g| j                  ||«      «       y r&   )r   r   Úspecial_formÚassert_vararg_mapr   r
   Ú
make_tupler	   )r   Úany_types     r   Útest_tuple_starz(MapActualsToFormalsSuite.test_tuple_star-   s£   € Üœ9×1Ñ1Ó2ˆØ×Ñ¤˜z¬G¨9¸°s°e¸T¿_¹_ÈXÓ=VÔWØ×ÑÜˆJœ¤'Ð*¨a¨S°1°#¨J¸¿¹ÈÐRZÓ8[ô	
ð 	×ÑÜˆJÜ”gœwÐ'ØˆS�1�#�rˆNØ�O‰O˜H hÓ/õ		
r   c                óP   — t        t        |«      t        «       j                  «      S r   )r   Úlistr   Ú	std_tuple)r   Úargss     r   r1   z#MapActualsToFormalsSuite.make_tuple:   s   € Üœ˜d›¤[£]×%<Ñ%<Ó=Ð=r   c                óŒ   — | j                  dgt        dfgdgg«       | j                  ddgt        dft        dfgdgdgg«       y )NÚxr   Úyr"   r#   r   s    r   Útest_named_argsz(MapActualsToFormalsSuite.test_named_args=   sH   € Ø�‰˜˜¤¨# Ð/°1°#°Ô7Ø�‰˜˜c˜
¤g¨s ^´g¸s°^Ð$DÈÀsÈQÈCÀjÕQr   c                ó^   — | j                  dgt        dft        dft        dfgg dgg g«       y )Nr:   r9   Úzr   ©r   r	   r   s    r   Útest_some_named_argsz-MapActualsToFormalsSuite.test_some_named_argsA   s4   € Ø�‰˜˜¤¨# ´¸#°ÄÈ#ÀÐOÐRTÐWXÐVYÐ[]ÐQ^Õ_r   c                ó<   — | j                  dgt        dfgg g«       y )Nr:   r9   r>   r   s    r   Útest_missing_named_argz/MapActualsToFormalsSuite.test_missing_named_argD   s   € Ø�‰˜˜¤¨# Ð/°"°Õ6r   c                óB   — | j                  ddgt        dfgddgg«       y ©Nr9   r   r"   r>   r   s    r   Útest_duplicate_named_argz1MapActualsToFormalsSuite.test_duplicate_named_argG   s#   € Ø�‰˜˜c˜
¤g¨s ^Ð$4¸¸1°v°hÕ?r   c                ó¤   — | j                  t        gt        t        dfgdgg g«       | j                  t        dgt        t        dfgdgdgg«       y rC   )r   r   r   r   s    r   Útest_varargs_and_bare_asteriskz7MapActualsToFormalsSuite.test_varargs_and_bare_asteriskJ   sJ   € Ø�‰œ˜
¤X´	¸3Ð/?Ð$@ÀAÀ3ÈÀ)ÔLØ�‰œ 3˜¬(´YÀÐ4DÐ)EÈÈÈaÈSÀzÕRr   c                ó(  — | j                  dgt        gdgg«       | j                  dt        gt        gddgg«       | j                  dt        gt        dft        gdgdgg«       | j                  t        t        gt        dft        gdgdgg«       y rC   )r   r   r
   r   s    r   Útest_keyword_varargsz-MapActualsToFormalsSuite.test_keyword_varargsN   s…   € Ø�‰˜˜¤	˜{¨a¨S¨EÔ2Ø�‰˜œiÐ(¬9¨+¸¸A¸°xÔ@Ø�‰˜œiÐ(¬G°S¨>¼9Ð*EÈÈÈaÈSÀzÔRØ�‰œ¤)Ð,´¸¨~¼yÐ.IÈQÈCÐRSÐQTÈ:ÕVr   c                óf   — | j                  t        t        gt        dft        dfgddgddgg«       y )Nr9   r:   r   r"   ©r   r   r   r
   r   s    r   Útest_both_kinds_of_varargsz3MapActualsToFormalsSuite.test_both_kinds_of_varargsT   s7   € Ø�‰œ¤9Ð-´¸#°ÄÈ#ÀÐ/OÐSTÐVWÐRXÐ[\Ð^_ÐZ`ÐQaÕbr   c                ó2  — | j                  t        gt        t        gdgg g«       | j                  t        t        gt        t        gdgdgg«       | j                  t        gt        dft        gdgdgg«       | j                  t        gt        gdgg«       y )Nr   r"   r9   rJ   r   s    r   Útest_special_casesz+MapActualsToFormalsSuite.test_special_casesW   s|   € Ø�‰œ˜
¤X¬yÐ$9¸Q¸CÀ¸9ÔEØ�‰œ¤9Ð-´¼)Ð/DÈÀsÈQÈCÀjÔQØ�‰œ˜¤w° n´iÐ%@ÀAÀ3ÈÈÀ*ÔMØ�‰œ˜¤i [°A°3°%Õ8r   c                ót   — t        |«      \  }}t        |«      \  }}t        ||||d„ «      }t        ||«       y )Nc                ó4   — t        t        j                  «      S r   )r   r   r/   )Úis    r   ú<lambda>z5MapActualsToFormalsSuite.assert_map.<locals>.<lambda>j   s   € ”gœi×4Ñ4Ó5€ r   )Úexpand_caller_kindsÚexpand_callee_kindsr   r   )	r   Úcaller_kinds_Úcallee_kinds_ÚexpectedÚcaller_kindsÚcaller_namesÚcallee_kindsÚcallee_namesÚresults	            r   r   z#MapActualsToFormalsSuite.assert_map]   sG   € ô &9¸Ó%GÑ"ˆ�lÜ%8¸Ó%GÑ"ˆ�lÜ'ØØØØÙ5ó
ˆô 	�V˜XÕ&r   c                óB   ‡— t        |g |g ˆfd„«      }t        ||«       y )Nc                ó   •— ‰S r   © )rP   Úvararg_types    €r   rQ   z<MapActualsToFormalsSuite.assert_vararg_map.<locals>.<lambda>u   s   ø€ ÐVa€ r   )r   r   )r   rW   rY   rV   r_   r[   s       ` r   r0   z*MapActualsToFormalsSuite.assert_vararg_mapn   s"   ø€ ô (¨°b¸,ÈÓLaÓbˆÜ�V˜XÕ&r   N©ÚreturnÚNone)r7   r   ra   r   )rT   úlist[ArgKind | str]rU   ú#list[ArgKind | tuple[ArgKind, str]]rV   úlist[list[int]]ra   rb   )
rW   úlist[ArgKind]rY   rf   rV   re   r_   r   ra   rb   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r$   r'   r)   r+   r-   r3   r1   r;   r?   rA   rD   rF   rH   rK   rM   r   r0   r^   r   r   r   r      s¿   „ Ù7ó$óLóBó
Bó
Eó6ó

ó>óRó`ó7ó@óSóWócó9ð'à*ð'ð ;ð'ð "ð	'ð
 
ó'ð"'à#ð'ð $ð'ð "ð	'ð
 ð'ð 
ô'r   r   c                óÒ   — g }g }| D ][  }t        |t        «      r'|j                  t        «       |j                  |«       Œ:|j                  |«       |j                  d «       Œ] ||fS r   )Ú
isinstanceÚstrÚappendr   )Úkinds_or_namesÚkindsÚnamesÚks       r   rR   rR   y   sa   € ð €EØ €EØò ˆÜ�aœÔØ�L‰LœÔ#Ø�L‰L˜�Oà�L‰L˜ŒOØ�L‰L˜Õðð �%ˆ<Ðr   c                óÖ   — g }g }| D ]]  }t        |t        «      r)|j                  |d   «       |j                  |d   «       Œ<|j                  |«       |j                  d «       Œ_ ||fS r!   )rl   Útuplern   )Úkinds_and_namesrp   rq   Úvs       r   rS   rS   ˆ   sj   € ð €EØ €EØò ˆÜ�aœÔØ�L‰L˜˜1™ÔØ�L‰L˜˜1™Õà�L‰L˜ŒOØ�L‰L˜Õðð �%ˆ<Ðr   c                  ó8   — e Zd ZdZdd„Zd	d„Zd	d„Zd	d„Zd	d„Zy)
ÚOperandDisjointDictSuitezTTest cases for checker.DisjointDict, which is used for type inference with operands.c                ó   — t        «       S r   )r   r   s    r   ÚnewzOperandDisjointDictSuite.newš   s
   € Ü‹~Ðr   c                ó  — | j                  «       }|j                  ddhdh«       |j                  h d£dh«       |j                  h d£dh«       | j                  |j                  «       ddhdhfh d£dhfh d£dhfg«       y )Nr   r"   Úgroup1¾   é   é   é   Úgroup2>   é   é   é   Úgroup3©rz   Úadd_mappingÚassertEqualÚitems©r   Úds     r   Útest_independent_mapsz.OperandDisjointDictSuite.test_independent_maps�   s|   € Ø�H‰H‹JˆØ	�‰�q˜!�f˜x˜jÔ)Ø	�‰’i ( Ô,Ø	�‰’i ( Ô,à×ÑØ�G‰G‹I˜!˜Q˜ ( Ð,ªy¸8¸*Ð.EÊ	ÐT\ÐS]ÐG^Ð_õ	
r   c                ó|  — | j                  «       }|j                  ddhdh«       |j                  ddhdh«       |j                  ddhdh«       |j                  d	dhd
h«       |j                  d	dhdh«       |j                  ddhdh«       | j                  |j                  «       h d£h d£fh d£ddhfg«       y )Nr   r"   r|   r~   r�   r   r€   r…   r‚   Úgroup4rƒ   Úgroup5r„   Úgroup6>   r   r"   r~   r‚   rƒ   >   r|   r�   rŽ   r�   >   r   r€   r„   r†   rŠ   s     r   Útest_partial_mergingz-OperandDisjointDictSuite.test_partial_merging§   s·   € Ø�H‰H‹JˆØ	�‰�q˜!�f˜x˜jÔ)Ø	�‰�q˜!�f˜x˜jÔ)Ø	�‰�q˜!�f˜x˜jÔ)Ø	�‰�q˜!�f˜x˜jÔ)Ø	�‰�q˜!�f˜x˜jÔ)Ø	�‰�q˜!�f˜x˜jÔ)à×ÑØ�G‰G‹Iâ Ò"JÐKÚ˜X xÐ0Ð1ðõ	
r   c                ón  — | j                  «       }|j                  h d£dh«       |j                  h d£dh«       |j                  h d£dh«       |j                  h d£dh«       |j                  h d	£d
h«       |j                  ddhdh«       | j                  |j                  «       h d£h d£fg«       y )N¾   r   r"   r~   Úar}   Úb>   é
   é   é   Úc>   é   é   é   r‹   >   r–   r›   é   Úer   r–   Úf>   r   r"   r~   r   r€   r–   r—   r˜   rš   r›   rœ   r�   >   r”   r•   r™   r‹   rž   rŸ   r†   rŠ   s     r   Útest_full_mergingz*OperandDisjointDictSuite.test_full_merging¸   s”   € Ø�H‰H‹JˆØ	�‰’i # Ô'Ø	�‰’i # Ô'Ø	�‰’l S EÔ*Ø	�‰’l S EÔ*Ø	�‰’l S EÔ*Ø	�‰�q˜"�g ˜uÔ%à×ÑØ�G‰G‹IÚ9Ò;YÐZÐ[õ	
r   c                óD  — | j                  «       }|j                  h d£dh«       |j                  h d£dh«       |j                  h d£dh«       |j                  h d£dh«       |j                  h d£d	h«       | j                  |j                  «       h d
£h d£fg«       y )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Š   s     r   Ú!test_merge_with_multiple_overlapsz:OperandDisjointDictSuite.test_merge_with_multiple_overlapsÆ   s}   € Ø�H‰H‹JˆØ	�‰’i # Ô'Ø	�‰’i # Ô'Ø	�‰’l S EÔ*Ø	�‰’o¨ uÔ-Ø	�‰’o¨ uÔ-à×Ñ˜Ÿ™›Ò&;Ò=VÐ%WÐ$XÕYr   N)ra   zDisjointDict[int, str]r`   )	rg   rh   ri   rj   rz   rŒ   r‘   r    r¢   r^   r   r   rx   rx   —   s   „ Ù^óó
ó
ó"
ôZr   rx   c                  óH   — e Zd ZdZd
d„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
y	)ÚOperandComparisonGroupingSuitez1Test cases for checker.group_comparison_operands.c                ó\   — i }|j                  «       D ]  \  }}d|j                  f||<   Œ |S )NÚFakeExpr)r‰   Úname)r   Úassignable_operandsÚoutputÚindexÚexprs        r   Úliteral_keymapz-OperandComparisonGroupingSuite.literal_keymapÔ   s:   € Ø!#ˆØ.×4Ñ4Ó6ò 	4‰KˆE�4Ø'¨¯©Ð3ˆF�5ŠMð	4àˆr   c           
     ó„  — t        d«      }t        d«      }t        d«      }t        d«      }t        d«      }d||fd||fd||fd||fg}| j                  i «      }| j                  |||||dœ«      }||fD ]È  }	| j                  t        ||	t	        «       «      dd	d
gfdd
dgfdddgfdddgfg«       | j                  t        ||	dh«      dg d¢fdddgfdddgfg«       | j                  t        ||	dh«      dd	d
gfdd
dgfdddgfdddgfg«       | j                  t        ||	ddh«      dg d¢fdddgfdddgfg«       ŒÊ y )NÚx0Úx1Úx2Úx3Úx4ú==ú<©r   r"   r~   r   r€   r   r"   r~   r   r€   ©r   r"   r~   )r   r¬   rˆ   r   Úset)
r   r®   r¯   r°   r±   r²   Úbasic_inputÚnone_assignableÚall_assignableÚ
assignables
             r   Útest_basic_casesz/OperandComparisonGroupingSuite.test_basic_casesÚ   s¥  € ô �d‹^ˆÜ�d‹^ˆÜ�d‹^ˆÜ�d‹^ˆÜ�d‹^ˆà˜b "�~¨¨b°" ~¸¸RÀ°}ÀtÈRÐQSÀnÐUˆà×-Ñ-¨bÓ1ˆØ×,Ñ,°¸¸rÀbÈRÑ-PÓQˆà*¨NÐ;ò 	ˆJØ×ÑÜ)¨+°zÄ3Ã5ÓIØ˜˜A˜� $¨¨A¨ °#¸¸1°v°ÀÈÈ1ÀvÀÐOôð ×ÑÜ)¨+°zÀDÀ6ÓJØš	Ð" S¨1¨a¨& M°D¸1¸a¸&°>ÐBôð ×ÑÜ)¨+°zÀCÀ5ÓIØ˜˜A˜� $¨¨A¨ °#¸¸1°v°ÀÈÈ1ÀvÀÐOôð ×ÑÜ)¨+°zÀDÈ#À;ÓOØš	Ð" S¨1¨a¨& M°D¸1¸a¸&°>ÐBõñ	r   c                óÐ  — t        d«      }t        d«      }t        d«      }t        d«      }t        d«      }t        d«      }| j                  t        d||fd||fd||fd||fg| j                  i «      ddh«      dg d	¢fdg d
¢fg«       | j                  t        d||fd||fd||fd||fg| j                  i «      ddh«      dg d¢fg«       | j                  t        d||fd||fd||fd||fg| j                  i «      ddh«      dddgfdg d¢fg«       | j                  t        d||fd||fd||fd||fd||fg| j                  i «      ddh«      dg d	¢fdddgfdg d¢fg«       y )Nr®   r¯   r°   r±   r²   Úx5r³   Úisr¶   ©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¾   s          r   Útest_multiple_groupsz3OperandComparisonGroupingSuite.test_multiple_groupsú   sÜ  € Ü�d‹^ˆÜ�d‹^ˆÜ�d‹^ˆÜ�d‹^ˆÜ�d‹^ˆÜ�d‹^ˆà×ÑÜ%Ø˜˜B� $¨¨B °$¸¸B°À$ÈÈBÀÐPØ×#Ñ# BÓ'Ø�t�óð
 ’IÐ ¢yÐ 1Ð2ô	
ð 	×ÑÜ%Ø˜˜B� $¨¨B °$¸¸B°À$ÈÈBÀÐPØ×#Ñ# BÓ'Ø�t�óð
 ’OÐ$Ð%ô	
ð 	×ÑÜ%Ø˜˜B� $¨¨B °$¸¸B°À$ÈÈBÀÐPØ×#Ñ# BÓ'Ø�t�óð
 �Q˜�Fˆ^˜d¢LÐ1Ð2ô	
ð 	×ÑÜ%Ø˜˜B� $¨¨B °#°r¸2°ÀÀrÈ2ÀÐQUÐWYÐ[]ÐP^Ð_Ø×#Ñ# BÓ'Ø�t�óð
 ’IÐ  q¨! f °²iÐ/@ÐAõ	
r   c                óp  — t        d«      }t        d«      }t        d«      }t        d«      }t        d«      }dg d¢fdd	d
gfdg d¢fg}dg d¢fdd	d
gfg}d||fd||fd||fd||fd||fg}| j                  t        || j                  ||||||dœ«      dh«      |d«       | j                  t        || j                  ||||dœ«      dh«      |d«       | j                  t        || j                  ||||dœ«      dh«      |d«       | j                  t        || j                  ||dœ«      dh«      |d«       y )Nr®   r¯   r°   r±   r²   r³   r¶   r´   r~   r   rÂ   )r   r"   r~   r   r€   r‚   z/All vars are assignable, everything is combinedrÁ   z#x0 is unassignable, so no combining)r   r"   r   r‚   z3Some vars are unassignable but x0 is, so we combine)r   r‚   z2All vars are unassignable but x0 is, so we combinerÃ   )	r   r®   r¯   r°   r±   r²   Únothing_combinedÚeverything_combinedÚ
two_groupss	            r   Útest_multiple_groups_coalescingz>OperandComparisonGroupingSuite.test_multiple_groups_coalescing#  s”  € Ü�d‹^ˆÜ�d‹^ˆÜ�d‹^ˆÜ�d‹^ˆÜ�d‹^ˆà!¢9Ð-°°a¸°V¨}¸tÂYÐ>OÐPÐØ $Ò&8Ð9¸CÀ!ÀQÀ¸=ÐIÐð �2�rˆNØ�2�rˆNØ�"�bˆMØ�2�rˆNØ�2�rˆNð
ˆ
ð 	×ÑÜ%Ø˜D×/Ñ/°B¸2À"ÈÐPRÐWYÑ0ZÓ[Ð^bÐ]cóð  Ø=ô	
ð 	×ÑÜ%Ø˜D×/Ñ/°B¸2À"ÈÑ0LÓMÐPTÈvóð Ø1ô	
ð 	×ÑÜ%Ø˜D×/Ñ/°B¸2À"ÈÑ0LÓMÐPTÈvóð  ØAô	
ð 	×ÑÜ% j°$×2EÑ2EÈ"ÐQSÁnÓ2UÐX\ÐW]Ó^ØØ@õ	
r   c                ó  — t        d«      }t        d«      }t        d«      }t        d«      }d||fd||fd||fd||fg}| j                  |||||dœ«      }| j                  t        ||ddh«      dg d¢fdg d	¢fgd
«       y )Nr®   r¯   r°   r±   r³   r¿   rµ   r¶   rÀ   z)Different operators can never be combined)r   r¬   rˆ   r   )r   r®   r¯   r°   r±   ÚgroupsÚkeymaps          r   Ú(test_multiple_groups_different_operatorszGOperandComparisonGroupingSuite.test_multiple_groups_different_operatorsP  sš   € Ü�d‹^ˆÜ�d‹^ˆÜ�d‹^ˆÜ�d‹^ˆà˜˜R�. 4¨¨R .°4¸¸R°.À4ÈÈRÀ.ÐQˆØ×$Ñ$¨°°r¸bÀRÑ%HÓIˆØ×ÑÜ% f¨f°t¸T°lÓCØ’IÐ ¢yÐ 1Ð2Ø7õ	
r   c           	     óú   — t        d«      }t        d«      }d||fg}dddgfg}i d|id|i||dœg}t        «       dhdhg}|D ]7  }|D ]0  }| j                  |«      }	| j                  t	        ||	|«      |«       Œ2 Œ9 y )Nr®   r¯   r³   r   r"   )r   r"   r¿   )r   r·   r¬   rˆ   r   )
r   r®   r¯   Úsingle_comparisonÚexpected_outputÚassignable_combinationsÚto_group_byÚcomboÚ	operatorsrÌ   s
             r   Útest_single_pairz/OperandComparisonGroupingSuite.test_single_pair^  s¯   € Ü�d‹^ˆÜ�d‹^ˆà" B¨˜^Ð,ÐØ  1 a &˜>Ð*ˆà>@À1ÀbÀ'ÈAÈrÈ7ÐXZÐ_aÑTbÐ=cÐÜ'*£u¨t¨f°t°fÐ&=ˆà,ò 	ˆEØ(ò �	Ø×,Ñ,¨UÓ3�Ø× Ñ Ü-Ð.?ÀÈÓSØ#õññ	r   c                óŠ   — | j                  t        g i t        «       «      g «       | j                  t        g i dh«      g «       y )Nr³   )rˆ   r   r·   r   s    r   Útest_empty_pair_listz3OperandComparisonGroupingSuite.test_empty_pair_listp  s<   € ð 	×ÑÔ2°2°r¼3»5ÓAÀ2ÔFØ×ÑÔ2°2°r¸D¸6ÓBÀBÕGr   N)r¨   zdict[int, NameExpr]ra   zdict[int, Key]r`   )rg   rh   ri   rj   r¬   r¼   rÄ   rÉ   rÍ   rÕ   r×   r^   r   r   r¤   r¤   Ñ   s,   „ Ù;óóó@'
óR+
óZ
óô$Hr   r¤   N)ro   rc   ra   ú&tuple[list[ArgKind], list[str | None]])ru   rd   ra   rØ   )!rj   Ú
__future__r   Úmypy.argmapr   Úmypy.checkerr   r   Úmypy.literalsr   Ú
mypy.nodesr   r	   r
   r   r   r   r   Úmypy.test.helpersr   r   Úmypy.test.typefixturer   Ú
mypy.typesr   r   r   r   r   rR   rS   rx   r¤   r^   r   r   ú<module>rá      s�   ðÙ 5å "å .ß @Ý ß Z× ZÑ Zß 1Ý -ß :Ó :ôh'˜uô h'ðVØ'ðà+óðØ8ðà+óô7Z˜uô 7ZôtdH Uõ dHr   