
    #j                        d Z ddlmZ ddlZddlmc mZ ddl	Z	ddl
mZ ddlmZmZmZmZmZ  ee      j&                  j&                  j&                  dz  dz  dz  Zd
d	Zy)u   tests.regression.dispatch_gate.test_prompt_3901_blocked — §17.15 regression.

회장 verbatim: 3901 bytes prompt 는 HARD_BLOCK + 자동 path-only compact mode.
    )annotationsN)Path)
HARD_BLOCKclassify_prompt_bytes
is_allowedmeasure_utf8_bytesrequires_path_only_compactfixturesdispatch_gatezprompt_3901_block.jsonc                 &   t        j                  t        j                               } | d   d   }d}||k(  }|st	        j
                  d|fd||f      dt        j                         v st	        j                  |      rt	        j                  |      ndt	        j                  |      dz  }dd	|iz  }t        t	        j                  |            d x}}d
|z  }t        |      }d}||k(  }|st	        j
                  d|fd||f      dt        j                         v st	        j                  t              rt	        j                  t              nddt        j                         v st	        j                  |      rt	        j                  |      ndt	        j                  |      t	        j                  |      dz  }	dd|	iz  }
t        t	        j                  |
            d x}x}}t        |      }|j                  }|t        k(  }| d   d   }t        |k(  }|r|st	        j
                  d||fd|t        |f      dt        j                         v st	        j                  |      rt	        j                  |      ndt	        j                  |      dt        j                         v st	        j                  t              rt	        j                  t              ndt	        j                  |      dz  }dd|iz  }t        t	        j                  |            d x}x}x}}|j                   }d}||u }| d   d   }||k(  }|r|st	        j
                  d||fd|||f      dt        j                         v st	        j                  |      rt	        j                  |      ndt	        j                  |      t	        j                  |      t	        j                  |      dz  }
dd |
iz  }t        t	        j                  |            d x}x}x}x}}|j"                  }d!}||u }| d   d"   }||k(  }|r|st	        j
                  d||fd#|||f      dt        j                         v st	        j                  |      rt	        j                  |      ndt	        j                  |      t	        j                  |      t	        j                  |      dz  }
dd |
iz  }t        t	        j                  |            d x}x}x}x}}|j$                  }d!}||u }| d   d$   }||k(  }|r|st	        j
                  d||fd%|||f      dt        j                         v st	        j                  |      rt	        j                  |      ndt	        j                  |      t	        j                  |      t	        j                  |      dz  }
dd |
iz  }t        t	        j                  |            d x}x}x}x}}t'        |      }d}||u }|st	        j
                  d&|fd'||f      d(t        j                         v st	        j                  t&              rt	        j                  t&              nd(dt        j                         v st	        j                  |      rt	        j                  |      ndt	        j                  |      t	        j                  |      dz  }	dd|	iz  }
t        t	        j                  |
            d x}x}}t)        |      }d!}||u }|st	        j
                  d&|fd'||f      d)t        j                         v st	        j                  t(              rt	        j                  t(              nd)dt        j                         v st	        j                  |      rt	        j                  |      ndt	        j                  |      t	        j                  |      dz  }	dd|	iz  }
t        t	        j                  |
            d x}x}}y )*Ninputprompt_byte_lengthi=  )==)z%(py0)s == %(py3)sn)py0py3zassert %(py5)spy5x)z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)sr   prompt)r   py1r   py6zassert %(py8)spy8expectedverdict)r   r   )z/%(py2)s
{%(py2)s = %(py0)s.verdict
} == %(py5)sz%(py5)s == %(py7)scr   )r   py2r   py7zassert %(py9)spy9Fallowed)isr   )z/%(py2)s
{%(py2)s = %(py0)s.allowed
} is %(py6)s%(py6)s == %(py8)s)r   r   r   r   zassert %(py10)spy10T
hard_block)z2%(py2)s
{%(py2)s = %(py0)s.hard_block
} is %(py6)sr!   requires_compact_mode)z=%(py2)s
{%(py2)s = %(py0)s.requires_compact_mode
} is %(py6)sr!   )r    )z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} is %(py6)sr   r	   )jsonloadsFIXTURE	read_text
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanationr   r   r   r   r   r#   r$   r   r	   )fixr   @py_assert2@py_assert1@py_format4@py_format6r   @py_assert5@py_assert4@py_format7@py_format9r   @py_assert3@py_assert6@py_format8@py_format10@py_assert7@py_format11s                     h/home/jay/workspace/.worktrees/task-2645-dev2/tests/regression/dispatch_gate/test_prompt_3901_blocked.py5test_3901_bytes_prompt_is_hard_blocked_chair_verbatimrA      s   
**W&&(
)CG)*A191111WFf%--%----%---------------f---f---%----------f%A99@9
@@c*oi&@@
&@@@@@@9
&@@@@@@@1@@@1@@@9@@@@@@
@@@
@@@&@@@@@@@@99;;9;;Z!;;!;;;;;;9!;;;;;;;1;;;1;;;9;;;;;;!;;;;;;;;<<@4@<4@@3z?<#@@4#@@@@@@<4#@@@@@@@1@@@1@@@<@@@4@@@#@@@@@@@@""VdV"dVVc*o>U.VVd.VVVVVV"d.VVVVVVV1VVV1VVV"VVVdVVV.VVVVVVVVf&&&&&&&&&&&&:&&&:&&&&&&f&&&f&&&&&&&&&&&&&%f-55-5555-555555%555%555555f555f555-5555555555    )returnNone)__doc__
__future__r   builtinsr+   _pytest.assertion.rewrite	assertionrewriter)   r%   pathlibr   utils.prompt_byte_classifierr   r   r   r   r	   __file__parentr'   rA    rB   r@   <module>rP      sX    #      	N  ''*4FIaa 
6rB   