
    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mZmZmZmZmZmZmZmZmZmZmZm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)uO   tests.test_dispatch_status_enum_2645 — task-2645 status enum + 천이 규칙.    )annotationsN)
ALL_STATESDISPATCH_ERRORDISPATCH_PRECHECK_BLOCKEDDISPATCH_SILENT_DROP_HOLDDISPATCH_SUBMITTED_UNVERIFIEDDISPATCH_VERIFIED_SPAWNFINAL_SUCCESS_STATESHOLD_FOR_CHAIR_STATESNON_FINAL_STATESassert_not_premature_successcan_transitionis_final_successis_hold_for_chairc                     d} t         | k(  }|st        j                  d|fdt         | f      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}} d} t        | k(  }|st        j                  d|fdt        | f      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}} d} t        | k(  }|st        j                  d|fdt        | f      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}} d	} t        | k(  }|st        j                  d|fdt        | f      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}} d
} t        | k(  }|st        j                  d|fdt        | f      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}} y )Nr   ==z%(py0)s == %(py3)spy0py3assert %(py5)spy5r	   r   r   r   )r   
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanationr	   r   r   r   @py_assert2@py_assert1@py_format4@py_format6s       U/home/jay/workspace/.worktrees/task-2645-dev2/tests/test_dispatch_status_enum_2645.py'test_state_constants_are_chair_verbatimr(      s   ,KK(,KKKKK(,KKKKKKK(KKK(KKK,KKKKKKKK&??"&?????"&???????"???"???&????????(CC$(CCCCC$(CCCCCCC$CCC$CCC(CCCCCCCC-->----->------->--->-----------(CC$(CCCCC$(CCCCCCC$CCC$CCC(CCCCCCCC    c                    t         t        t        t        t        h} t
        | k(  }|st        j                  d|fdt
        | f      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}} y )Nr   r   r   r   r   r   )r   r	   r   r   r   r   r   r   r   r   r   r   r    r!   r"   s       r'   test_all_states_set_contains_5r+       s    %!! :    :                    r)   c                    t         h} t        | k(  }|st        j                  d|fdt        | f      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}} t        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                  t               rt        j                  t               ndt        j                  |       t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}}t        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                  t              rt        j                  t              ndt        j                  |       t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}}y )Nr   r   r
   r   r   r   Tisz0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} is %(py6)sr   r	   r   py1r   py6assert %(py8)spy8Fr   )r	   r
   r   r   r   r   r   r   r    r!   r   r   r#   r$   r%   r&   @py_assert5@py_assert4@py_format7@py_format9s           r'   &test_final_success_only_verified_spawnr:   *   s   $;#<<#<<<<<#<<<<<<<<<<<<<#<<<<<<<<34<<4<<<<4<<<<<<<<<<<<<<<3<<<3<<<4<<<<<<<<<<9:CeC:eCCCC:eCCCCCCCCCCCCCCC9CCC9CCC:CCCeCCCCCCCr)   c                     t        j                  t        d      5  t        t               ddd       t        t
               t        t               y# 1 sw Y   (xY w)uR   ANCHOR-1: SUBMITTED_UNVERIFIED 로 final success 보고 시도 시 AssertionError.r   )matchN)pytestraisesr    r   r   r	   r    r)   r'   2test_submitted_unverified_blocks_premature_successr@   0   sG    	~-L	M D$%BCD !!89 !:;	D Ds   AAc                    t         h} t        | k(  }|st        j                  d|fdt        | f      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}} t        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                  t               rt        j                  t               ndt        j                  |       t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}}t        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                  t              rt        j                  t              ndt        j                  |       t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}}y )Nr   r   r   r   r   r   Tr-   r/   r   r   r0   r3   r4   Fr	   )r   r   r   r   r   r   r   r   r    r!   r   r	   r5   s           r'   $test_hold_for_chair_only_silent_droprB   9   s   %>$?? $????? $??????? ??? ???$????????67?4?74????74???????????????6???6???7???4???????45>>5>>>>5>>>>>>>>>>>>>>>4>>>4>>>5>>>>>>>>>>r)   c                    t         t        v } | st        j                  d| fdt         t        f      dt	        j
                         v st        j                  t               rt        j                  t               nddt	        j
                         v st        j                  t              rt        j                  t              nddz  }dd|iz  }t        t        j                  |            d } y )N)in)z%(py0)s in %(py2)sr   r   )r   py2zassert %(py4)spy4)
r   r   r   r   r   r   r   r   r    r!   )r$   @py_format3@py_format5s      r'   3test_non_final_states_contains_submitted_unverifiedrI   ?   sq    (,<<<<<(,<<<<<<<(<<<(<<<<<<,<<<<,<<<<<<<<r)   c                    t        t        t              } | sddt        j                         v st        j                  t               rt        j                  t               nddt        j                         v st        j                  t              rt        j                  t              nddt        j                         v st        j                  t              rt        j                  t              ndt        j                  |       dz  }t        t        j                  |            d } t        t        t              } | sddt        j                         v st        j                  t               rt        j                  t               nddt        j                         v st        j                  t              rt        j                  t              nddt        j                         v st        j                  t              rt        j                  t              ndt        j                  |       dz  }t        t        j                  |            d } t        t        t              } | sddt        j                         v st        j                  t               rt        j                  t               nddt        j                         v st        j                  t              rt        j                  t              nddt        j                         v st        j                  t              rt        j                  t              ndt        j                  |       dz  }t        t        j                  |            d } y )Nz5assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}r   r   r	   )r   r1   rE   rF   r   r   )r   r   r	   r   r   r   r   r   r    r!   r   r   )@py_assert3rH   s     r'   *test_transitions_from_submitted_unverifiedrL   C   s   79PQQQQQQQQ>QQQ>QQQQQQ7QQQ7QQQQQQ9PQQQ9PQQQQQQQQQQ79RSSSSSSSS>SSS>SSSSSS7SSS7SSSSSS9RSSS9RSSSSSSSSSS7HHHHHHHH>HHH>HHHHHH7HHH7HHHHHHHHHHHHHHHHHHHr)   c            
        t         t        t        t        fD ]b  } t        D ]U  }t        | |      }d}||u }|s7t        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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}}X e y )
NFr-   )z9%(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
} is %(py7)sr   terminalnxt)r   r1   rE   rF   py7zassert %(py9)spy9)r	   r   r   r   r   r   r   r   r   r   r   r   r    r!   )rN   rO   rK   @py_assert6r6   @py_format8@py_format10s          r'   1test_terminal_states_have_no_outgoing_transitionsrU   I   s    !!	 :  	:C!(C09E90E99990E999999>999>999999(999(999999C999C9990999E9999999	::r)   c                    d} t        | t              }d}||u }|st        j                  d|fd||f      dt	        j
                         v st        j                  t               rt        j                  t               ndt        j                  |       dt	        j
                         v st        j                  t              rt        j                  t              ndt        j                  |      t        j                  |      dz  }dd	|iz  }t        t        j                  |            d x} x}x}}d}t        t        |      }d}||u }|st        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                  t              rt        j                  t              ndt        j                  |      t        j                  |      t        j                  |      dz  }dd	|iz  }t        t        j                  |            d x}x}x}}y )NUNKNOWNFr-   )z9%(py5)s
{%(py5)s = %(py0)s(%(py2)s, %(py3)s)
} is %(py8)sr   r	   )r   rE   r   r   r4   zassert %(py10)spy10)z9%(py5)s
{%(py5)s = %(py0)s(%(py1)s, %(py3)s)
} is %(py8)sr   )r   r1   r   r   r4   )r   r	   r   r   r   r   r   r   r    r!   r   )r$   r7   @py_assert7rR   r9   @py_format11r#   s          r'   *test_unknown_state_rejected_in_transitionsr[   T   sL   #F>)%<=FF=FFFF=FFFFFF>FFF>FFF)FFFFFF%<FFF%<FFF=FFFFFFFFFF9BL>7CLuLCuLLLLCuLLLLLL>LLL>LLLLLL7LLL7LLLLLLCLLLuLLLLLLLr)   )returnNone)!__doc__
__future__r   builtinsr   _pytest.assertion.rewrite	assertionrewriter   r=   utils.dispatch_status_enumr   r   r   r   r   r	   r
   r   r   r   r   r   r   r(   r+   r:   r@   rB   rI   rL   rU   r[   r?   r)   r'   <module>re      sW    U "      "DD<?=I:Mr)   