ó
    ù!‡j‹  ã                  óô   • S r SSKJr  SSKrSSKJs  Jr  SSK	J
r
  SSKrSSKrSSKJrJr  SSKJr  \R$                  SS j5       rSS jrSS	 jrSS
 jr      SS jr      SS jr      SS jrS rg)zNThe upload's scan breadth: typed by filing type, untyped by cover attribution.é    )ÚannotationsN)ÚPath)ÚCoverAttributionÚMockCoverAttributor)Ú_scan_breadthc                óœ   • U S-  n[         R                  " 5       nUR                  SSS9  UR                  U5        UR	                  5         U$ )Nzuntitled.pdfiÐ  i  )ÚwidthÚheight)ÚfitzÚopenÚnew_pageÚsaveÚclose)Útmp_pathÚpdfÚdocs      Ú</home/mande/repo/quber/tests/playground/test_scan_breadth.pyÚone_page_pdfr      s@   € à
�^Ñ
#€CÜ
�)Š)‹+€CØ‡L�L�s 3€LÑ'Ø‡H�HˆS„MØ‡I�I„KØ€Jó    c                óü  • [        SS0U S-  U 5      u  pSo1U:H  oD(       d¥  [        R                  " SU4SX45      S[        R                  " 5       ;   d  [        R
                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      S.-  nS	S
U0-  n[        [        R                  " U5      5      eS =pCSowU;   o3(       d¥  [        R                  " SU4SXr45      [        R                  " U5      S[        R                  " 5       ;   d  [        R
                  " U5      (       a  [        R                  " U5      OSS.-  nS	S
U0-  n[        [        R                  " U5      5      eS =psg )NÚfiling_typez10-Qú
absent.pdfÚ	nominated©ú==©z%(py0)s == %(py3)sÚpages©Úpy0Úpy3úassert %(py5)sÚpy5©Úin©z%(py1)s in %(py3)sÚreason©Úpy1r    ©	r   Ú
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanation©r   r   r&   Ú@py_assert2Ú@py_assert1Ú@py_format4Ú@py_format6Ú@py_assert0s           r   Ú%test_typed_big_filing_stays_nominatedr8      sÓ   € Ü! =°&Ð"9¸8ÀlÑ;RÐT\Ó]�M€EØÐ�KÑ×××Òˆ5×××××Õˆ5×××Ñˆ5××Õ�K××××××ÑØÐ�VÑ×××Òˆ6××Ôˆ6×××××Ô�V×××Ñ�V××××××Ôr   c                ó”  • [        SS0U S-  U 5      u  pSo1U:H  oD(       d¥  [        R                  " SU4SX45      S[        R                  " 5       ;   d  [        R
                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      S.-  nS	S
U0-  n[        [        R                  " U5      5      eS =pCg )Nr   z10-kr   r   r   r   r   r   r!   r"   r)   )r   r   Ú_reasonr3   r4   r5   r6   s          r   Ú*test_typed_filing_type_is_case_insensitiver;      sx   € Ü" M°6Ð#:¸HÀ|Ñ<SÐU]Ó^�N€EØÐ�KÑ×××Òˆ5×××××Õˆ5×××Ñˆ5××Õ�K××××××Òr   c                óü  • [        SS0U S-  U 5      u  pSo1U:H  oD(       d¥  [        R                  " SU4SX45      S[        R                  " 5       ;   d  [        R
                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      S.-  nS	S
U0-  n[        [        R                  " U5      5      eS =pCSowU;   o3(       d¥  [        R                  " SU4SXr45      [        R                  " U5      S[        R                  " 5       ;   d  [        R
                  " U5      (       a  [        R                  " U5      OSS.-  nS	S
U0-  n[        [        R                  " U5      5      eS =psg )Nr   z99-2r   Úallr   r   r   r   r!   r"   r#   r%   r&   r'   r)   r2   s           r   Ú,test_any_other_explicit_type_scans_all_pagesr>   #   sÒ   € Ü! =°&Ð"9¸8ÀlÑ;RÐT\Ó]�M€EØÐ�E‰>×××Òˆ5×××××Õˆ5×××Ñˆ5××Õ�E××××××ÑØÐ�VÑ×××Òˆ6××Ôˆ6×××××Ô�V×××Ñ�V××××××Ôr   c                ó(  • SSK Jn  UR                  USS 5        [        SS 0X5      u  pESodU:H  ow(       d¥  [        R
                  " SU4SXF45      S	[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS	[        R                  " U5      S
.-  nSSU0-  n	[        [        R                  " U	5      5      eS =pvSoªU;   of(       d¥  [        R
                  " SU4SX¥45      [        R                  " U
5      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OSS.-  nSSU0-  n	[        [        R                  " U	5      5      eS =p¦g )Nr   ©Úcover_attributionÚget_cover_attributorc                 ó(   • [        [        SSS95      $ )NÚpresentationz
deck cover©Úkindr&   ©r   r   © r   r   Ú<lambda>ÚGtest_untyped_presentation_attribution_scans_all_pages.<locals>.<lambda>1   s   € Ô#Ô$4¸.ÐQ]Ñ$^Ô_r   r   r=   r   r   r   r   r!   r"   rD   r#   r%   r&   r'   ©Úquber.agentsrA   Úsetattrr   r*   r+   r,   r-   r.   r/   r0   r1   )r   r   ÚmonkeypatchrA   r   r&   r3   r4   r5   r6   r7   s              r   Ú5test_untyped_presentation_attribution_scans_all_pagesrO   )   sè   € õ /à×ÑØØÙ_ôô
 " =°$Ð"7¸ÓP�M€EØÐ�E‰>×××Òˆ5×××××Õˆ5×××Ñˆ5××Õ�E××××××ÑØÐ#˜VÑ#×#×#×#Ò#ˆ>×#×#Ô#ˆ>×#×#×#×#×#Ô#˜V×#×#×#Ñ#˜V×#×#×#×#×#×#Ô#r   c                ó¼  • SSK Jn  UR                  USS 5        [        0 X5      u  pESodU:H  ow(       d¥  [        R
                  " SU4SXF45      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      S	.-  nS
SU0-  n	[        [        R                  " U	5      5      eS =pvg )Nr   r@   rB   c                 ó(   • [        [        SSS95      $ )NÚfilingzform headerrE   rG   rH   r   r   rI   ÚAtest_untyped_filing_attribution_stays_nominated.<locals>.<lambda>@   s   € Ô#Ô$4¸(È=Ñ$YÔZr   r   r   r   r   r   r!   r"   rK   )
r   r   rN   rA   r   r:   r3   r4   r5   r6   s
             r   Ú/test_untyped_filing_attribution_stays_nominatedrT   8   s‰   € õ /à×ÑØØÙZôô
 # 2 |Ó>�N€EØÐ�KÑ×××Òˆ5×××××Õˆ5×××Ñˆ5××Õ�K××××××Òr   c                ó¨  ^• SSK Jn   " S S5      mUR                  USU4S j5        [        0 X5      u  pESodU:H  ow(       d¥  [        R
                  " SU4S	XF45      S
[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS
[        R                  " U5      S.-  nSSU0-  n	[        [        R                  " U	5      5      eS =pvSoªU;   of(       d¥  [        R
                  " SU4SX¥45      [        R                  " U
5      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OSS.-  nSSU0-  n	[        [        R                  " U	5      5      eS =p¦SoªU;   of(       d¥  [        R
                  " SU4SX¥45      [        R                  " U
5      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OSS.-  nSSU0-  n	[        [        R                  " U	5      5      eS =p¦g )Nr   r@   c                  ó   • \ rS rSrSS jrSrg)ÚYtest_attribution_failure_falls_back_to_nominated_and_says_so.<locals>.ExplodingAttributoréK   c              “  ó    #   • [        S5      e7f)Nzmodel unavailable)ÚRuntimeError)ÚselfÚ	cover_pngÚ
page_counts      r   Ú	attributeÚctest_attribution_failure_falls_back_to_nominated_and_says_so.<locals>.ExplodingAttributor.attributeL   s   é € ÜÐ2Ó3Ð3ùs   ‚rH   N)r\   Úbytesr]   ÚintÚreturnr   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r^   Ú__static_attributes__rH   r   r   ÚExplodingAttributorrW   K   s   † ÷	4r   rh   rB   c                 ó   >• T " 5       $ )NrH   )rh   s   €r   rI   ÚNtest_attribution_failure_falls_back_to_nominated_and_says_so.<locals>.<lambda>O   s	   ø€ ÑK^ÔK`r   r   r   r   r   r   r!   r"   zattribution failedr#   r%   r&   r'   ÚfallbackrK   )r   r   rN   rA   r   r&   r3   r4   r5   r6   r7   rh   s              @r   Ú<test_attribution_failure_falls_back_to_nominated_and_says_sorl   F   sJ  ø€ õ /÷4ñ 4ð ×ÑÐ)Ð+AÔC`ÔaÜ! " lÓ=�M€EØÐ�KÑ×××Òˆ5×××××Õˆ5×××Ñˆ5××Õ�K××××××ÑØÐ) 6Ñ)×)×)×)Ò)Ð×)×)Ô)Ð×)×)×)×)×)Ô) 6×)×)×)Ñ) 6×)×)×)×)×)×)Ó)ØÐ˜Ñ×××Òˆ:××Ôˆ:×××××Ô˜×××Ñ˜××××××Ôr   c                 ó^  • SSK Jn   SSSSS.nSSS	S
S.nU " X5      o3(       Gd  SS[        R                  " 5       ;   d  [        R
                  " U 5      (       a  [        R                  " U 5      OSS[        R                  " 5       ;   d  [        R
                  " U5      (       a  [        R                  " U5      OSS[        R                  " 5       ;   d  [        R
                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      S.-  n[        [        R                  " U5      5      eS nU " X!5      o3(       + oU(       Gd  SS[        R                  " 5       ;   d  [        R
                  " U 5      (       a  [        R                  " U 5      OSS[        R                  " 5       ;   d  [        R
                  " U5      (       a  [        R                  " U5      OSS[        R                  " 5       ;   d  [        R
                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      S.-  n[        [        R                  " U5      5      eS =p5SSSS
S.nU " Xr5      o3(       + oU(       Gd  SS[        R                  " 5       ;   d  [        R
                  " U 5      (       a  [        R                  " U 5      OSS[        R                  " 5       ;   d  [        R
                  " U5      (       a  [        R                  " U5      OSS[        R                  " 5       ;   d  [        R
                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      S.-  n[        [        R                  " U5      5      eS =p5g )Nr   )Ú_box_containsgš™™™™™©?gÃõ(\�ÂÕ?g�Âõ(\�â?gffffffæ?)ÚleftÚtopÚrightÚbottomgÍÌÌÌÌÌÜ?gìQ¸…ëÁ?g      à?z5assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}rn   ÚpanelÚvalue)r   r(   Úpy2Úpy4z9assert not %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}g333333ã?gÍÌÌÌÌÌì?Úbeside)	Úquber.playground.apprn   r,   r-   r*   r.   r/   r0   r1   )rn   rs   rt   Ú@py_assert3Ú@py_format5Ú@py_assert5r6   rw   s           r   Útest_box_containment_predicater|   V   sñ  € Ý2à $°ÀÑF€EØ $°ÀÑF€EÙ˜Ó&Ð&Ö&×&×&×&×&×&Ñ&ˆ=×&×&×&Ñ&ˆ=×&×&×&×&×&Ö&˜×&×&×&Ñ&˜×&×&×&×&×&Ö& ×&×&×&Ñ& ×&×&Õ&Ð&×&×&×&×&×&Ñ&Ù˜UÓ*Ð*Ô*Ð*Ö*×*×*×*×*×*Ñ*ˆ}×*×*×*Ñ*ˆ}×*×*×*×*×*Ö*˜U×*×*×*Ñ*˜U×*×*×*×*×*Ö* E×*×*×*Ñ* E×*×*Õ*Ð*×*×*×*×*×*Ò*à 4°$À$ÑG€FÙ˜VÓ+Ð+Ô+Ð+Ö+×+×+×+×+×+Ñ+ˆ}×+×+×+Ñ+ˆ}×+×+×+×+×+Ö+˜V×+×+×+Ñ+˜V×+×+×+×+×+Ö+ U×+×+×+Ñ+ U×+×+Õ+Ð+×+×+×+×+×+Ó+r   )r   r   rb   r   )r   r   )r   r   r   r   rN   zpytest.MonkeyPatch)Ú__doc__Ú
__future__r   Úbuiltinsr,   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter*   Úpathlibr   r   ÚpytestÚquber.agents.cover_attributionr   r   rx   r   Úfixturer   r8   r;   r>   rO   rT   rl   r|   rH   r   r   Ú<module>r‡      s¢   ðÙ Tå "ç  „ Õ ã Û ç PÝ .ð ‡�óó ðôô ô
ð$Øð$Ø"&ð$Ø5Gô$ð Øð Ø"&ð Ø5Gô ð Øð Ø"&ð Ø5Gô ó 	,r   