
    iu                         d Z ddlZddlmc mZ ddlZddlZej                  j                  dd       d Zedk(  r e        yy)z/Tests for Story 1.05 (Track B): NullInterceptor    Nz/mnt/e/genesis-systemc                      ddl m ddlm         fd} t	        j
                   |               t        d       y )Nr   )NullInterceptor)BaseInterceptorc                  d  K   dddid} !j                  |        d {   }|| u }|st        j                  d|fd|| f      dt        j                         v st        j
                  |      rt        j                  |      nddt        j                         v st        j
                  |       rt        j                  |       ndd	z  }t        j                  d
      dz   d|iz  }t        t        j                  |            d }dddi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di}!j                  |       d {   }	|	d   }
d}|
|k(  }|slt        j                  d|fd|
|f      t        j                  |
      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}
x}}t        !      }|sd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                  |      dz  }t        t        j                  |            d }!j                  }|j                  }d}||k(  }|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}}!j                  }|j                  }d#}||k(  }|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}}!j                  }|j                  }d%}||k(  }|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}}g }d'}t!         |      }| }|}
|s  j"                  }t%        |      }d(}||k(  }|}
|
sd)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  }|j'                  |       |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                  |      t        j                  |      d/z  }d0d1|iz  }|j'                  |       t        j(                  |d      i z  }d2d3|iz  }t        t        j                  |            d x}
x}x}x}x}x}x}x}}d4d5i}!j                  |       d {   }d}
|
|v}|st        j                  d6|fd7|
|f      t        j                  |
      dt        j                         v st        j
                  |      rt        j                  |      ndd8z  }dd|iz  }t        t        j                  |            d x}
}|d4   }
d5}|
|k(  }|slt        j                  d|fd|
|f      t        j                  |
      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}
x}}!j+                  t-        d9      d:d;i       d {   }|d<   }
d9}|
|k(  }|slt        j                  d|fd|
|f      t        j                  |
      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}
x}}|d=   d:   }
d;}|
|k(  }|slt        j                  d|fd|
|f      t        j                  |
      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}
x}}!j/                  d>d%id:d;i       d {   }d }||u }|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}}y 7 7 	7 7 7 w)ANvaluea   )keynested)is)z%(py0)s is %(py2)sresultoriginal)py0py2zShould return same dict objectz
>assert %(py4)spy4)==)z%(py0)s == %(py3)s)r   py3zassert %(py5)spy5promptzBuild the featurezCORRECTION: Build the feature)z%(py1)s == %(py4)s)py1r   zassert %(py6)spy6z5assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}
isinstancenullr   )r   r   r   r   null_interceptor)zJ%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.metadata
}.name
} == %(py7)s)r   r   r   py7zassert %(py9)spy92   )zN%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.metadata
}.priority
} == %(py7)sT)zM%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.metadata
}.enabled
} == %(py7)s__abstractmethods__r   z2not %(py7)s
{%(py7)s = %(py2)s(%(py3)s, %(py5)s)
}hasattrr   )r   r   r   r   )z`%(py15)s
{%(py15)s = %(py10)s(%(py13)s
{%(py13)s = %(py11)s.__abstractmethods__
})
} == %(py18)slen)py10py11py13py15py18z%(py20)spy20zassert %(py23)spy23otherdata)not in)z%(py1)s not in %(py3)s)r   r   z
test errortasktesterrortask_payloaddone)z%(py0)s is %(py3)spost_result)pre_execute
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_saferepr_format_assertmsgAssertionError_format_explanationon_correctionr   metadatanamepriorityenabledr   r   r    append_format_boolopon_error
ValueErrorpost_execute)"r   r   @py_assert1@py_format3@py_format5@py_assert2@py_format4@py_format6payload	corrected@py_assert0@py_assert3@py_format7@py_assert6@py_assert5@py_format8@py_format10@py_assert4@py_assert8@py_assert12@py_assert14@py_assert17@py_assert16@py_format9@py_format19@py_format21@py_format22@py_format24	no_prompterror_resultr0   r   r   r   s"                                  6/mnt/e/genesis-system/tests/track_b/test_story_1_05.py	run_testsz(test_null_interceptor.<locals>.run_tests   s    "sAh7''11!CCCvCCCCCCvCCCvCCCCCCCCCCCCC#CCCCCCC!(S!H==v=====v=======v===v=========== 01,,W55	"E&EE"&EEEEE"&EEEE"EEE&EEEEEEEE $00000000z000z000000$000$0000000000000000000}}7}!!7%77!%77777!%7777777t777t777}777!777%77777777}}+}%%++%++++%++++++t+++t+++}+++%++++++++++}},}$$,,$,,,,$,,,,,,t,,,t,,,},,,$,,,,,,,,,, 	t,As7?,ABsBBsBsB/JmJmscJmFnsrssFnrsFsssssss7sss7ssssss?sss?sss,AsssBssssBsssFnrssssssscssscssssss/sss/sssJmsssFnsssrssssssssssssssss f%	)))44%xv%%%%xv%%%x%%%%%%v%%%v%%%%%%%g(&(&((((&((((((&((((((( "]]:l+CffEUVVG$44$4444$444$4444444444N+F3=v=3v====3v===3===v======= !--vtnvv>NOO""{d""""{d""""""{"""{"""d"""""""? 2 6 5
 W
 Ps\   n0n"F+n0n%[ n0n(E	n0n+D n07n.8B+n0%n0(n0+n0.n0u)   ALL TESTS PASSED — Story 1.05 (Track B))'core.interceptors.integration_contractsr   "core.interceptors.base_interceptorr   asynciorunprint)rb   r   r   r   s    @@@ra   test_null_interceptorrh      s0    GBD!#F KK		
56    __main__)__doc__builtinsr4   _pytest.assertion.rewrite	assertionrewriter2   re   syspathinsertrh   __name__ ri   ra   <module>ru      s@    5    
 * ++7\ z ri   